Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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_Cakephp_Cakephp 1.3 - Fatal编程技术网

Php 阵列差分

Php 阵列差分,php,cakephp,cakephp-1.3,Php,Cakephp,Cakephp 1.3,我有这个数组,我们称它为数组1 Array ( [0] => Array ( [Machine] => Array ( [id] => 7 [name] => XYZ [priority] => 1 ) [Sof

我有这个数组,我们称它为数组1

Array
(
    [0] => Array
        (
            [Machine] => Array
                (
                    [id] => 7
                    [name] => XYZ
                    [priority] => 1
                )

            [Software] => Array
                (
                    [id] => 472
                )

        )

    [1] => Array
        (
            [Machine] => Array
                (
                    [id] => 6
                    [name] => ABC
                    [priority] => 0
                )

            [Software] => Array
                (
                    [id] => 470
                )

        )

    [2] => Array
        (
            [Machine] => Array
                (
                    [id] => 1
                    [name] => IEU
                    [priority] => 3
                )

            [Software] => Array
                (
                    [id] => 471
                )

        )

)
然后我有另一个数组,我们称之为数组2

Array
(
    [0] => 7
    [1] => 5
    [2] => 4
    [3] => 3
    [4] => 6
)
如果数组2没有[Machine][id],那么我希望将其从数组1中删除。如上面的示例1所示,将删除

   [2] => Array
            (
                [Machine] => Array
                    (
                        [id] => 1
                        [name] => IEU
                        [priority] => 3
                    )

                [Software] => Array
                    (
                        [id] => 471
                    )

            )
关于如何实现这一目标的任何想法。谢谢,也许

foreach ($array1 AS $key => $array) {
    if (!in_array($array['Machine']['id'], $array2))
       unset($array1[$key]);
}
也许

foreach ($array1 AS $key => $array) {
    if (!in_array($array['Machine']['id'], $array2))
       unset($array1[$key]);
}
尝试以下方法:

$new_array = array();
foreach ($array1 as $platform)
{
     if (in_array($platform["Machine"]["id"], $array2))
     {
         $new_array[] = $platform;
     }
}

return $new_array;
尝试以下方法:

$new_array = array();
foreach ($array1 as $platform)
{
     if (in_array($platform["Machine"]["id"], $array2))
     {
         $new_array[] = $platform;
     }
}

return $new_array;