+ -
当前位置:首页 → 问答吧 → 请教各位一个简单的回调函数问题

请教各位一个简单的回调函数问题

时间:2011-09-04

来源:互联网

请问函数func5里面的
if($v1===$v2) return 0;
  if($v1>$v2) return 1;
  if($v1<$v2) return -1;
是什么意思?
为什么$v1===v2是返回0?而不是返回1,array_uintersect是一个返回数组元素值的交集函数

function dump($arr){
  echo "<pre>";
  print_r($arr);
}

  
$array1=array("a1"=>"a","b"=>"b","c"=>"c");
$array2=array("a"=>"a1","b"=>"b","c"=>"c");


$array3=array_uintersect($array1,$array2,"func5"); 
function func5($v1,$v2){
  if($v1===$v2) return 0;
  if($v1>$v2) return 1;
  if($v1<$v2) return -1;
}
dump($array3);

作者: freemanyao   发布时间: 2011-09-04

if($v1===$v2) return 0;

我不知道你 $v1 和 $v2 是什么值

如果 2个 变量的 值 和 类型都相等的话。 返回的 是 真.. 真的话就执行 return 0
例如 $v1 = 1 $v2 = 1 都是数值类型 就 返回真.
  $v1 = '1' $v2 = 1 $v1 是字符类型 $v2 是数值类型 就返回假.

作者: Kogeo   发布时间: 2011-09-04

貌似array_uintersect函数对回调的要求就是那样的。

作者: weareu   发布时间: 2011-09-04

相关阅读 更多