Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在这个系统中进行平等性检查?_Php_Arrays - Fatal编程技术网

Php 如何在这个系统中进行平等性检查?

Php 如何在这个系统中进行平等性检查?,php,arrays,Php,Arrays,我有两个diff数组,我想在同等条件下打印这些数组 第一个数组 Array ( [0] => fname [1] => lname [2] => email ) Array ( [fname] => john [lname] => notdefined [email] => xy

我有两个diff数组,我想在同等条件下打印这些数组

第一个数组

     Array ( 
            [0] => fname 
            [1] => lname 
            [2] => email  
      )
   Array ( 
           [fname] => john 
           [lname] => notdefined 
           [email] => xyz@gmail.com 
           [address] => london 
    )
第二个数组

     Array ( 
            [0] => fname 
            [1] => lname 
            [2] => email  
      )
   Array ( 
           [fname] => john 
           [lname] => notdefined 
           [email] => xyz@gmail.com 
           [address] => london 
    )
现在我的问题是,我想打印第二个数组的值,当且仅当该数组的索引与第一个数组的值匹配时

第二个数组的索引==第一个数组的值(我可以说这是更好理解的相等条件)

在这种情况下,我的输出应该是

   Array (
           [fname] => john
           [lname] => notdefined
           [email] => xyz@gmail.com
      )
它不应该显示地址,因为第一个数组中不存在

对不起!我不知道如何准确地解释这件事

这里这只是示例代码,但在现实中,我有一些额外的信息也非常大的数组(请记住这一点)


提前感谢

有很多方法,其中之一是:

foreach($secArr as $key => $val)
{
     if(in_array($key, $firstArr))
         echo $val;
}
或:

或:


发挥您的想象力,因此不是提供现成代码的地方,请向我们展示您的尝试,我们将帮助您使其发挥作用。

使用函数交换第一个数组键和值,并使用键计算数组的交集,以便使用进行比较


array\u Flip
翻转第一个数组,然后在两个数组上使用
array\u intersect\u键
。@ShankarDamodaran你的建议效果很好。。。谢谢你用各种各样的方式表现出的魅力。。需要测试阵列翻转
$array1 = array(0 => fname,1 => lname ,2 => email);
$array1 = array_flip($array1);
$array2 = array( 
       fname => 'john', 
       lname => 'notdefined', 
       email => 'xyz@gmail.com', 
       address => 'london' 
    );

$new = array_intersect_key($array2,$array1);
print_r($new);