php陣列中刪除元素

2021-09-06 05:16:19 字數 1059 閱讀 6468

之前如果要在某個陣列中刪除乙個元素,我是直接用的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 那麼怎麼才能做到缺少的元素會被填...