2012-05-13 21 views
0

に等しい2次元配列の中から、アレイを削除しますコード:それは最後の配列(それが可能ならば、全体の配列の最後の配列であることを起こるこの場合22が、すべてを削除しかしは、私は次の配列構造を持っている価値が

for ($i = 0; $i <= count($processData); $i++) { 
    if ($processData[$i]['all_sessions_unavailable'] === true) { 
     unset($processData[$i]); 
    } 
} 

nyの違い)

私が間違っていることはありますか?

+0

これは100%確かではありませんが、反対側から反復しようとしています...私はそれがそうしないようにインデックスを変更していると思いますので、代わりに "for($ i = count($ processData); $ i> = 0; $ i--) " – hackartist

+0

それは治療を働かせた、それを答えにしなさい: – lethalMango

+0

確かに、ちょうどやった – hackartist

答えて

1

私はそれがとても代わり

for($i=count($processData);$i>=0;$i--) 
1

にPHP 5.3+のための代替的なアプローチを行う設定解除とそれがインデックスを変更していると思う:

あなただけ foreach()を使用していないのはなぜ
$processData = array_filter($processData, 
          function ($i) { return !$i['all_sessions_unavailable']; }); 
1
foreach($processData as $index=>$session){ 
    if($session['all_sessions_unavailable']){ 
     unset($processData[$index]); 
    } 
} 

それはおそらくPHPの最高の機能の一つです...

また、all_sessions_unavailableにブール値以外の値が含まれている可能性があります。正確なtrueと一致させる必要はありません。

関連する問題