php将多维数组中的多个值与另一个多维数组进行比较

时间:2018-07-05 09:48:23

标签: php arrays multidimensional-array

我有一个多维数组

简单的示例数组

[0]=>array(2) {
["slug"]=>string(12) "exampleslug1"
["tax"]=>string(11) "exampletax1"}
[1]=>array(2) {
["slug"]=>string(12) "exampleslug2"
["tax"]=>string(11) "exampletax2"}
[2]=>array(2) {
["slug"]=>string(12) "exampleslug2"
["tax"]=>string(11) "exampletax3"}

现在我想检查另一个多维数组的两个值。

例如。我想检查子弹是否为“ exampleslug2”,并且tax =“ exampletax2” 因此,在这种情况下,它应该返回false / true / false。

我已经尝试过in_array,但是我似乎无法将它用于多维。 谁能为我提供一种解决方案,用于检查多维数组中的多个值是否与第二个多维数组中的值相同。

如果尝试类似

if (!in_array($termSlug, $externalTermSlugs['slug']) && !in_array($termTax, $externalTermSlugs['tax']) ) {}

它多次添加所有内容,我想拥有的是它添加了所有唯一的内容,并且如果已经存在则不会覆盖。

1 个答案:

答案 0 :(得分:0)

尝试此代码

<?php
$arr = array( 0 => array("slug"=>"exampleslug1","tax"=>"exampletax1"),
             1 => array("slug"=>"exampleslug2","tax"=>"exampletax2"),
             2 => array("slug"=>"exampleslug2","tax"=>"exampletax3"));
foreach($arr as $key => $value){
    if($value['slug']=="exampleslug2" && $value['tax']=="exampletax2"){
        echo "true"."<br>";
    }else{
        echo "false"."<br>";
    }
}
?>