Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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_Codeigniter_Multidimensional Array - Fatal编程技术网

如果值存在于所有数组中,如何在PHP中从多维数组返回重复值。

如果值存在于所有数组中,如何在PHP中从多维数组返回重复值。,php,arrays,codeigniter,multidimensional-array,Php,Arrays,Codeigniter,Multidimensional Array,几天来,我一直在努力解决这个问题,但没有取得好的结果。我在PHP中有一个多维对象数组(print\r): 我想获取所有数组中存在的重复值,例如: stdClass Object ( [productoId] => 16 ) 但不是: stdClass Object ( [productoId] => 21 ) 你知道我怎样才能做到这一点吗?像这样: $array = a

几天来,我一直在努力解决这个问题,但没有取得好的结果。我在PHP中有一个多维对象数组(print\r):

我想获取所有数组中存在的重复值,例如:

stdClass Object
        (
            [productoId] => 16
        )
但不是:

stdClass Object
        (
            [productoId] => 21
        )
你知道我怎样才能做到这一点吗?

像这样:

$array = array(
            3 => array((object) array('productoId' => '16'), (object) array('productoId' => '21'), (object) array('productoId' => '22')),
            7 => array((object) array('productoId' => '16'), (object) array('productoId' => '21'), (object) array('productoId' => '22')),
            6 => array((object) array('productoId' => '16'), (object) array('productoId' => '17'))
        );

$arrays = count($array);
$match = array();
$duplicates = array();
foreach($array as $one){
    foreach($one as $single){
        $var = (array)$single;
        if(!isset($match[$var['productoId']])) { $match[$var['productoId']] = 0; }
        $match[$var['productoId']]++;
        if($match[$var['productoId']] == $arrays){
            $duplicates[] = (int)$var['productoId'];
        }
    }
}
print_r($duplicates);
$array = array(
            3 => array((object) array('productoId' => '16'), (object) array('productoId' => '21'), (object) array('productoId' => '22')),
            7 => array((object) array('productoId' => '16'), (object) array('productoId' => '21'), (object) array('productoId' => '22')),
            6 => array((object) array('productoId' => '16'), (object) array('productoId' => '17'))
        );

$arrays = count($array);
$match = array();
$duplicates = array();
foreach($array as $one){
    foreach($one as $single){
        $var = (array)$single;
        if(!isset($match[$var['productoId']])) { $match[$var['productoId']] = 0; }
        $match[$var['productoId']]++;
        if($match[$var['productoId']] == $arrays){
            $duplicates[] = (int)$var['productoId'];
        }
    }
}
print_r($duplicates);