大家好,今天给大家分享的是php array_intersect_key() 函数教程,函数在php中的分量还是蛮有地位的。我们可以使用这些函数可以很方便的做很多功能。
这也是为啥php是最好的语言的原因之一吧。
反正我是不反对,只希望php越走越远,越走越好,学好它会让我们成为一个更好的全栈工程师。
下面还是来进入今天的主题。
array_intersect_key 函数的作用是 比较数组,返回两个数组的交集(只比较键名)。
他有两个必填参数,和后面的可选参数。
其中第一个参数是与其他数组进行比较的第一个数组。
只写必填参数的话,就说明比较这两个函数。
上面的描述已经很清晰明了。
当然这里还是有一些疑点的。
比如我们只比较键名,那么如果说两个数组的键名一样但是值不一样的话,我们这个函数的返回值是什么?
我看了一些文档,大家的表述并没有刻意强调这一点。那么今天我就来详细的来剖析下。
首选我们先看索引数组实例$a1=array("red","green","blue");
$a2=array("blue","red","green","dd");
$result=array_intersect_key($a1,$a2);
print_r($result);
大家看看这个的结果是多少呀?
会有很多人以为只对比的值,其实这里是对比的键名。
这两个数组有相同的键名 0,1,2 然而排序的话是根据第一个数组来的。有人不相信,那么我们稍加修改下。$a1=array("red","green","blue",'lvyou');
$a2=array("blue","red","green","dd");
$result=array_intersect_key($a1,$a2);
print_r($result);
我们这样看就应该明白了吧,他们只比较索引键值。
我们再看个例子$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("c"=>"yellow","d"=>"black","e"=>"brown");
$a3=array("f"=>"green","c"=>"purple","g"=>"red");
$result=array_intersect_key($a1,$a2,$a3);
print_r($result);
这是三个数组进行比较,我们看到上面是一个关联数组。
我们同样比较的是键名,然后后面的值得话,还有排序的话,我们以第一个数组为准。
所以这个结果是
这样讲的话,大家应该一目了然了,好了,今天的php array_intersect_key() 函数教程就分享到这里,大家再见。