我有一个名为$roster
的数组,其中大约有16个较小的数组,如下所示(为了简洁起见,仅显示4个):
Array
(
[0] => Array
(
[playerid] => 1055
[firstname] => Christian
[lastname] => McCaffrey
[age] => 27
)
[1] => Array
(
[playerid] => 1362
[firstname] => A.J.
[lastname] => Brown
[age] => 26
)
[2] => Array
(
[playerid] => 1897
[firstname] => Joe
[lastname] => Burrow
[age] => 27
)
[3] => Array
(
[playerid] => 2019
[firstname] => De'Von
[lastname] => Achane
[age] => 22
)
)
我还有一个名为$notneeded
的单独数组,其中只包含玩家ID,就像这样:
Array
(
[0] => 1055
[1] => 1495
[2] => 1497
[3] => 1897
[4] => 1775
)
我想循环通过上面的数组,如果这5个playerid中的任何一个与较大数组中的playerid匹配,我想删除整个记录.
例如,由于1055和1897位于上面较小的数组中,因此我希望生成的数组中只剩下2名玩家(因为麦卡弗里和伯罗的所有信息都应该删除).
我try 了下面的代码,但没有发生任何事情(即,没有任何内容从$roster
中删除)
foreach ($notneeded as $item) {
// Search values and remove them from $roster
if(($key = array_search($item, $roster)) !== false) {
unset($roster[$key]);
}
}
显然我不擅长使用数组,因为这似乎应该有点容易. 请让我知道我做错了什么/愚蠢了:)