我做了大量的研究,我無法找到如何從PHP中的數組中刪除元素。在Java中,如果你有一個ArrayList<SomeObject> list
,你會說list.remove(someObject);
。如何在php中從數組中刪除元素?
在PHP中可以做什麼類似的事情嗎?我找到了unset($array[$index]);
,但它似乎不起作用。
感謝您的幫助提前!
我做了大量的研究,我無法找到如何從PHP中的數組中刪除元素。在Java中,如果你有一個ArrayList<SomeObject> list
,你會說list.remove(someObject);
。如何在php中從數組中刪除元素?
在PHP中可以做什麼類似的事情嗎?我找到了unset($array[$index]);
,但它似乎不起作用。
感謝您的幫助提前!
unset($array[$index]);
實際工作。
我能想到的唯一問題就是你迭代這個數組的方式。
只是使用的foreach
代替for
也確保$索引中包含正確的值
,以測試你的陣列可以使用var_dump()
:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";
unset($cars[0]);
var_dump($cars);
可以說我有這個數組$ car [0] =「Volvo」; $汽車[1] = 「BMW」; $汽車[2] = 「豐田」;當我說未設置($ cars [0])時,我只剩下[1]和[2]了,對嗎? – ACetin 2013-02-14 13:14:22
你需要t ø或者刪除它,並取出空數組:
function remove_empty($ar){
$aar = array();
while(list($key, $val) = each($ar)){
if (is_array($val)){
$val = remove_empty($val);
if (count($val)!=0){
$aar[$key] = $val;
}
}
else {
if (trim($val) != ""){
$aar[$key] = $val;
}
}
}
unset($ar);
return $aar;
}
remove_empty(陣列(1,2,3, '',5))返回陣列(1,2,3,5)
所以如果我有[1],[2],[3],[4]和刪除[2],我想要該數組重新編排數組,所以而不是[1],[3],[4],我得到[1],[2],[3] – ACetin 2013-02-14 13:18:19
如果要刪除可以使用unset()
或替代array_splice()
取消設置()只是一個陣列元件
實施例:
碼
<?php
$array = array(0 => "x", 1 => "y", 2 => "z");
unset($array[1]);
//If you want to delete the second index ie, array[1]
?>
輸出
Array (
[0] => a
[2] => c
)
定義**'似乎沒有work' ** – asprin 2013-02-14 13:07:30
'unset'是正確的。你怎麼確定它不起作用? – 2013-02-14 13:07:32
取消設置,但可能您的索引是一個整數,您用於取消設置的索引是一個字符串? – Nir 2013-02-14 13:09:18