是存在的,如果我想要的代碼看起來像這樣如何從數組的某些元素有一個的foreach PHP
foreach ($a as $key=>$value) {
if (($value['someprop'] == 'some prop') || ($value['someprop'] == 'some other prop'))
array_splice($a, $key, 1);
因爲數組鍵與array_splice
是存在的,如果我想要的代碼看起來像這樣如何從數組的某些元素有一個的foreach PHP
foreach ($a as $key=>$value) {
if (($value['someprop'] == 'some prop') || ($value['someprop'] == 'some other prop'))
array_splice($a, $key, 1);
因爲數組鍵與array_splice
使用一個for循環移位的方式,計算從數組結束回:
(這樣你就不會惹上麻煩與指數變化)
for($i = count($myArray); $i>0; $i--)
{
$value = $myArray[$i];
if (($value['someprop'] == 'some prop') || ($value['someprop'] == 'some other prop'))
array_splice($myArray, $i-1, 1);
}
我認爲索引是從count($ a)-1到0 – Herokiller
@Herokiller對吧。現在修復了。 –
使用更優雅array_filter
代替:
$a = [
['someprop' => 'some prop'],
['someprop' => 'not some prop'],
['someprop' => 'some other prop'],
];
方法:
$filtered = array_filter($a, function($value) {
return !($value['someprop'] == 'some prop' || $value['someprop'] == 'some other prop');
});
的print_r($過濾):
Array
(
[1] => Array
(
[someprop] => not some prop
)
)
也不錯,我想這只是用PHP開發時的那些「你需要知道的東西」之一。 –
能否請您重新制定你的問題,是什麼你想要做什麼? – Nirnae
您將鍵和值分割爲'$ key => $ value'那麼爲什麼'$ value ['someprop']'?只是'$價值'還不夠? – Thamilan
@VijayaSankarN它看起來不太整齊,不。也許它是一個數組數組? –