<?php
function isgreater($a, $b) {
if($a > $b)
return 1;
else
return 0;
}
//function only can pass value or reference, eg: function xxx(2, isgreater)
//compare with c programming, php is no datatype define, so the function can pass to it //directly.
function compare($num1, $num2, &$func) {
//$funcpointer = & $func;
//return $funcpointer($num1, $num2);
return $func($num1, $num2);
}
$num1 = 100;
$num2 = 50;
if(compare($num1, $num2, isgreater))
printf("num1 is greater than num2");
?>
PD9waHAKCmZ1bmN0aW9uIGlzZ3JlYXRlcigkYSwgJGIpIHsKICAgaWYoJGEgPiAkYikKICAgICByZXR1cm4gMTsKICAgZWxzZSAKICAgICByZXR1cm4gMDsKfQoKLy9mdW5jdGlvbiBvbmx5IGNhbiBwYXNzIHZhbHVlIG9yIHJlZmVyZW5jZSwgZWc6IGZ1bmN0aW9uIHh4eCgyLCBpc2dyZWF0ZXIpCi8vY29tcGFyZSB3aXRoIGMgcHJvZ3JhbW1pbmcsIHBocCBpcyBubyBkYXRhdHlwZSBkZWZpbmUsIHNvIHRoZSBmdW5jdGlvbiBjYW4gcGFzcyB0byBpdCAvL2RpcmVjdGx5LgpmdW5jdGlvbiBjb21wYXJlKCRudW0xLCAkbnVtMiwgJiRmdW5jKSB7CgovLyRmdW5jcG9pbnRlciA9ICYgJGZ1bmM7CgovL3JldHVybiAkZnVuY3BvaW50ZXIoJG51bTEsICRudW0yKTsKCnJldHVybiAkZnVuYygkbnVtMSwgJG51bTIpOwoKfQoKJG51bTEgPSAxMDA7CiRudW0yID0gNTA7CgoKaWYoY29tcGFyZSgkbnVtMSwgJG51bTIsIGlzZ3JlYXRlcikpIApwcmludGYoIm51bTEgaXMgZ3JlYXRlciB0aGFuIG51bTIiKTsKCj8+