的$鍵我有一個數組看起來像如何刪除元素,還移陣列
Array
(
[0] => 1213059
[1] => 1213063
[2] =>
[3] =>
[4] => 1213072
)
我想使它如下:
Array
(
[0] => 1213059
[1] => 1213063
[2] => 1213072
)
是否有任何人能幫助我?
非常感謝
的$鍵我有一個數組看起來像如何刪除元素,還移陣列
Array
(
[0] => 1213059
[1] => 1213063
[2] =>
[3] =>
[4] => 1213072
)
我想使它如下:
Array
(
[0] => 1213059
[1] => 1213063
[2] => 1213072
)
是否有任何人能幫助我?
非常感謝
array_filter
將刪除計算結果爲假的所有元素:
$array = array_filter($array);
它確實刪除了元素,但它不會移動鍵... – 2014-01-24 15:34:01
我不認爲這些答案,給出正確的領域秩序,有人問。如果你只是想從陣列移除某些字段,並留下鑰匙訂購不變,你可以用
array_filter($arr) or with unset($arr[$i])
做,但如果你想獲得密鑰的新秩序,因此不存在「漏洞」,在上面例如設置鍵4,鍵2的按鍵2和3都沒有設置,你必須使用
ksort($arr)
下面是一個完整的例子:
$arr=array(1,1,3,2,0);
print_r($arr);
echo '<br>';
unset($arr[2]);
ksort($arr);
print_r($arr);
$arr=array_values($arr);#EDITED
ksort($arr)
知道不應該排序數組,因爲它應該,所以只是在末尾加上$arr=array_values($arr);
#EDITED
ksort()
的PHP參考是在link。
您可以使用此解決方法。
某處定義這個功能:
function removeArrElement($inArr, $elementNr) {
for ($i = $elementNr; $i < count($inArr) - 1; $i++) {
$inArr[$i] = $inArr[$i + 1];
}
unset($inArr[count($inArr) - 1]);
return $inArr;
}
然後,當你想刪除從$ yourArray特定元素,這樣做:
$yourArray = removeArrElement($yourArray, $nthElement);
我覺得這不是最有效的方法做到這一點,但它工作正常。
它''array_filter()'而不是'array_filer()' – 2012-01-27 11:30:38