2013-11-15 87 views
0

我想嘗試通過array_push僅將已填充的行存入另一個數組,但我不能動態地取出它們,因爲第一個索引是字符串,我該如何正確執行它?謝謝。從多維數組中取第一個索引爲字符串的填充行

<?php 
while($i < count($val['error']){ 

    if($val['error'][$i] === 0) 
    { 
    array_push($newarray, $val[whatwilliputherebecauseofstringindex][$i]); 
    } 

} 
?> 

Hi here is the pastebin

+0

使用'的foreach($數組作爲$密鑰=> $ VAL)'循環。那麼你可以使用'$ key' –

+0

在這裏不工作是完整的代碼http://pastebin.ca/2476420 –

+0

所以你有一個「之前」你的數組在pastebin中。在你想要的 –

回答

0
<?php 
// get keys of original array (name, type, etc..) 
$keys = array_keys($array); 
// for each error value ... 
foreach ($array['error'] as $key => $val) { 
    // if error is not 0.. 
    if($val !== 0) 
    { 
    // for each key in the original array.. 
    foreach ($keys as $k) { 
     // unset the element of the same iteration 
     unset($array[$k][$key]); 
    } 
    } 
} 
?> 
+0

之前/之後感謝你的幫助。如果所有的值!= 0,那麼print_r($ array)只顯示數組(array())我該如何防止這種情況? –

+0

@AskerMan好吧,你想要一個只有'error'' == 0的數組。如果沒有0,那麼你最終會得到一個空數組。如果所有值!= 0,你會發生什麼? –

+0

我希望不會得到空值:)順便說一句,我用不同的方式解決了我的問題,以後我會與大家分享 –