之前如果要在某個陣列中刪除乙個元素,我是直接用的unset,也不管unset之後會發生什麼。但今天看到的東西卻讓我大吃一驚
<?php
$arr = array('aaaa','bbbb','cccc','dddd');
unset($arr[1]);
print_r($arr);
?>
print_r($arr)之後,結果卻不是那樣的,最終結果是 array ( [0] => a [2] => c [3] => d )
那麼怎麼才能做到缺少的元素會被填補並且陣列會被重新索引呢?答案是array_splice():
<?php
$arr = array('aaaa','bbbb','cccc','dddd');
array_splice($arr,1,1);
print_r($arr);
?>
ps: array_splice第乙個是原陣列,第二個引數刪除第幾個鍵(從0開始),第三個引數是刪除幾個
print_r($arr)之後,結果是array ( [0] => a [1] => c [2] => d )
實際應用
$arr = array('aaaa','bbbb','cccc','dddd');unset($arr[1]);
sort($arr
);echo json_encode($arr
);或者
$arr = array('aaaa','bbbb','cccc','dddd');
array_splice($arr,1,1);
echo json_encode($arr);
或者
$arr = array('aaaa','bbbb','cccc','dddd');unset($arr[1]);
array_values($arr);
echo json_encode($arr);
php陣列中刪除元素
之前如果要在某個陣列中刪除乙個元素,我是直接用的unset,也不管unset之後會發生什麼。但今天看到的東西卻讓我大吃一驚 arr array a b c d unset arr 1 print r arr print r arr 之後,結果卻不是那樣的,最終結果是 array 0 a 2 c 3 ...
php陣列中刪除元素
之前如果要在某個陣列中刪除乙個元素,我是直接用的unset,也不管unset之後會發生什麼。但今天看到的東西卻讓我大吃一驚 arr array a b c d unset arr 1 print r arr print r arr 之後,結果卻不是那樣的,最終結果是 array 0 a 2 c 3 ...
php陣列中刪除元素
如果要在某個陣列中刪除乙個元素,可以直接用的unset,但今天看到的東西卻讓我大吃一驚 arr array a b c d unset arr 1 print r arr print r arr 之後,結果卻不是那樣的,最終結果是 array 0 a 2 c 3 d 那麼怎麼才能做到缺少的元素會被填...