Php 如果与其他数组项匹配,则删除数组项
我有两个数组 $array1中的第一个数组存储Php 如果与其他数组项匹配,则删除数组项,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有两个数组 $array1中的第一个数组存储 Array ( [status] => 0 [message] => Already In List [result] => Array ( [0] => Array ( [id] => 1 [name] => sazib
Array
(
[status] => 0
[message] => Already In List
[result] => Array
(
[0] => Array
(
[id] => 1
[name] => sazib
[list_status] => sync
[item_list] => Array
(
[0] => Array
(
[id] => 1
[name] => item1
[picture] => 1409220406-apple.png
[purchase_status] => no
[total_quantity] => 7
)
[1] => Array
(
[id] => 2
[name] => item1
[picture] =>
[purchase_status] => no
[total_quantity] => 3
)
[2] => Array
(
[id] => 3
[name] => item1
[picture] =>
[purchase_status] => no
[total_quantity] => 3
)
[3] => Array
(
[id] => 5
[name] => item1
[picture] =>
[purchase_status] => no
[total_quantity] => 4
)
[4] => Array
(
[id] => 6
[name] => item1
[picture] =>
[purchase_status] => no
[total_quantity] => 4
)
[5] => Array
(
[id] => 37
[name] => item1
[picture] =>
[purchase_status] => no
[total_quantity] => 4
)
)
)
[1] => Array
(
[id] => 3
[name] => sazib
[list_status] => sync
[item_list] => Array
(
[0] => Array
(
[id] => 10
[name] => test
[picture] =>
[purchase_status] => no
[total_quantity] => 3
)
[1] => Array
(
[id] => 11
[name] => prime
[picture] =>
[purchase_status] => no
[total_quantity] => 1
)
)
)
)
)
$array2中的第二个阵列存储
Array
(
[0] => Array
(
[id] => 1
[list_id] => 1
[item_id] => 3
)
[1] => Array
(
[id] => 2
[list_id] => 1
[item_id] => 5
)
[2] => Array
(
[id] => 3
[list_id] => 3
[item_id] => 11
)
)
现在,如果第一个数组与第二个数组进行比较,则取决于给定的示例
此处,第一个数组第一个索引id 1与第二个数组[0]和[1]匹配,因此将从第一个数组中删除此列表项。其他类似项也将删除
计算后输出将为
Array
(
[status] => 0
[message] => Already In List
[result] => Array
(
[0] => Array
(
[id] => 1
[name] => sazib
[list_status] => sync
[item_list] => Array
(
[0] => Array
(
[id] => 1
[name] => item1
[picture] => 1409220406-apple.png
[purchase_status] => no
[total_quantity] => 7
)
[1] => Array
(
[id] => 2
[name] => item1
[picture] =>
[purchase_status] => no
[total_quantity] => 3
)
[2] => Array
(
[id] => 3
[name] => item1
[picture] =>
[purchase_status] => no
[total_quantity] => 3
)
[4] => Array
(
[id] => 6
[name] => item1
[picture] =>
[purchase_status] => no
[total_quantity] => 4
)
)
)
[1] => Array
(
[id] => 3
[name] => sazib
[list_status] => sync
[item_list] => Array
(
[0] => Array
(
[id] => 10
[name] => test
[picture] =>
[purchase_status] => no
[total_quantity] => 3
)
)
)
)
)
我不知道怎么计算它
我希望如果任何列表id($array2)与第一个数组匹配,则检查每个项[id],然后从第一个数组的匹配项[id]中删除($array1)[item_list]数组项与[item_id]对应的[list_id])
请将我给定的预期结果数组与给定的$array1和$array2进行比较请更简单地说出您想要的内容。我真的不知道你想要什么。我更新了我的问题@JayI,我不知道你的标准到底是什么。您是否可以提供如下内容:此元素应该在我的最终输出中,因为
$array1['result'][0]['item\u list'][0]['id']==$array2[0]['item\u id']
?无论如何,你应该重新考虑你的数组结构,因为它非常混乱。这看起来像是数据库的一部分,这样你就可以查询数据,而不是处理大小笨拙的数组。