Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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中比较2D数组中的元素_Php_Arrays - Fatal编程技术网

如何在php中比较2D数组中的元素

如何在php中比较2D数组中的元素,php,arrays,Php,Arrays,嗨,我有一个这样的阵列 array( array( 1, 3 ), array( 4, 6, 8 ), array( 2, 3, 5, 1 ) ) 现在我想比较第一行元素和第二行中的所有元素。意思是我想比较1和4,6和8。然后是第三行元素,比如1和2,3,5和1。同样我想比较 1在给定数组中总共存在两次…因此变量count1=2…同样,3存在两次,因此count2=2…8只存在一次,因此count8=1…如下所示 arra

嗨,我有一个这样的阵列

array(
   array(
      1, 3
   ),
   array(
      4, 6, 8
   ),
   array(
      2, 3, 5, 1
   )
)
现在我想比较第一行元素和第二行中的所有元素。意思是我想比较1和4,6和8。然后是第三行元素,比如1和2,3,5和1。同样我想比较

1在给定数组中总共存在两次…因此变量count1=2…同样,3存在两次,因此count2=2…8只存在一次,因此count8=1…如下所示

array(
   array(
      1, 3
   ),
   array(
      4, 6, 8
   ),
   array(
      2, 3, 5, 1
   )
)
请帮我解决这个问题。提前谢谢。

检查

或示例

function in_array_r($needle, $haystack, $strict = false) {
    foreach ($haystack as $item) {
        if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) {
            return true;
        }
    }

    return false;
}
使用


如果您正在查找频率表,您可以使用并使用将其展平以获得计数:

print_r(array_count_values(call_user_func_array('array_merge', $array)));
输出:

Array
(
    [1] => 2
    [3] => 2
    [4] => 1
    [6] => 1
    [8] => 1
    [2] => 1
    [5] => 1
)

这些是不同的数组还是仅仅一个数组?在所有这些比较之后会发生什么?您想要什么比较
=
=
或什么?我想检查相同的元素是否存在…第一行的第二个元素是什么?如果您在任何其他行中找到一个现有元素,会发生什么?如何在2d数组中实现这一点???