简单的问题;如何从我的 foreach() 中删除正确的数组?
foreach ( $items as $e):
if ( $e['seat'] == $users[$clientID]['seat']):
//It's done, delete it.
unset ( $e );
endif;
endforeach;
unset($e) 似乎无法正常工作。从正确的索引中删除正确的数组的正确解决方案是什么?
简单的问题;如何从我的 foreach() 中删除正确的数组?
foreach ( $items as $e):
if ( $e['seat'] == $users[$clientID]['seat']):
//It's done, delete it.
unset ( $e );
endif;
endforeach;
unset($e) 似乎无法正常工作。从正确的索引中删除正确的数组的正确解决方案是什么?
这是 xbonez 给出的 for 循环的替代方法,也可以传递key
值:
foreach ( $items as $key => $e):
if ( $e['seat'] == $users[$clientID]['seat']):
//It's done, delete it.
unset ( $items[$key] );
endif;
endforeach;
我更喜欢这个版本,但这并不重要!
unset($e)
在 a 中执行foreach
取消设置 variable $e
,而不是它所代表的数组中的项目。您需要为此使用常规的 for 循环
for($i = 0; $i < count($items); $i++) {
if ($items[$i]['seat'] == $users[$clientID]['seat']) {
unset($items[$i])
}
}
尝试类似:
foreach ($items as &$e):
if ($e['seat'] == $users[$clientID]['seat']):
//It's done, delete it.
unset ($e);
endif;
endforeach;