PHP刪除陣列元素

2021-09-30 05:17:53 字數 1396 閱讀 6153

我們在使用php語言進行實際**編寫時,經常會和陣列打上交道,這對於初學者來說是比較困難的。今天我們就要向大家介紹如何實現php刪除陣列元素。

php中的陣列要新增元素非常簡單,直接用賦值就行了,陣列的key會自動增加,但是要刪除陣列中的元素呢?你想過嗎?是不是很少遇到?我近日在處理乙個購物籃程式時遇到了要實現php刪除陣列元素的問題,尋找了半天,終於找到了刪除陣列的方法,其實很簡單.

開始我參照一篇文章《字串陣列,刪除陣列元素》(oso中有)中的方法,用unset,但是有個缺陷.如$a是乙個陣列:

< ?$a

=array

("red", "green", "blue", "yellow");   

count($a); //得到4   

unset($a[1]); //刪除第二個元素   

count($a); //得到3   

echo $a[2]; //陣列中僅有三個元素,本想得到最後乙個元素,但卻得到blue,   

echo $a[1]; //無值   

?>

也就是說在php刪除陣列元素後,陣列中的元素個數(用count()得到)變了,但陣列下標卻沒有重新排列,還必須用刪除陣列前的key來操作相應的值.

後來我採用另一種方法,其實根本就不叫"方法",是用php4現成的函式array_splice().

< ?$a

=array

("red", "green", "blue", "yellow");   

count ($a); //得到4   

array_splice($a,1,1); //刪除第二個元素   

count ($a); //得到3   

echo $a[2]; //得到yellow   

echo $a[1]; //得到blue   

?>

把這個程式和前乙個相對比,就可以看到,array_splice()不僅刪除了元素,還把元素重排了,這樣在陣列各元素中間就不會有空值(如前例中的$a[1]).

array_splice()其實是替換陣列元素的函式,但如果不加替換值就簡單的刪除元素.下面是array_splice()的用法:

array array_splice (array input, int offset [, int length [, array replacement]])

引數input是要操作的陣列;offset是從第幾個元素開始,為正時從第乙個元素開始數,為負時從最後乙個元素開始數;length為要替換/php刪除陣列元素的個數,省略時就從offset開始到陣列結束,也是可正可負,原理和offset一樣;relacement為要替換的值.

php中刪除陣列元素

users array 1 張三 2 李四 3 王五 print r users echo unset users 2 print r users echo student array 1 mike 2 tom 3 jerry 4 lucy 5 lili array splice student,3...

php清空陣列元素,php刪除陣列元素示例分享

php刪除陣列元素的具體方法 1.用unset 方法 a array red green blue yellow count a 得到4 unset a 1 刪除第二個元素 count a 得到3 echo a 2 陣列中僅有三個元素,本想得到最後乙個元素,但卻得到blue,echo a 1 無值 ...

php 刪除陣列元素 陣列重組

php中的陣列要新增元素非常簡單,直接用賦值就行了,陣列的key會自動增加,但是要刪除陣列中的元素呢?你想過嗎?是不是很少遇到?我近日在處理乙個購物籃程式時遇到了要刪除陣列中元素的問題,尋找了半天,終於找到了刪除陣列的方法,其實很簡單.開始我參照一篇文章 字串陣列,刪除陣列元素 oso中有 中的方法...