PHP實現刪除數組中的特定元素

來源:互聯網
上載者:User

標籤:blog   產生   中間   school   color   部分   div   元素   array   

方法1:

1 <?php2 $arr1 = array(1,3, 5,7,8);3 $key = array_search(3, $arr1);4 if ($key !== false)5     array_splice($arr1, $key, 1);6 var_dump($arr1);7 ?>

返回結果:array(4) { [0]=> int(1) [1]=> int(5) [2]=> int(7) [3]=> int(8) }

PHP array_splice() 函數 
array_splice() 函數與 array_slice() 函數類似,選擇數組中的一系列元素,但不返回,而是刪除它們並用其它值代替。如果提供了第四個參數,則之前選中的那些元素將被第四個參數指定的數組取代。 
最後產生的數組將會返回。 
文法:array_splice(array,offset,length,array) 
array:必需。規定數組。 
offset:必需。數值。如果 offset 為正,則從輸入數組中該值指定的位移量開始移除。如果 offset 為負,則從輸入數組末尾倒數該值指定的位移量開始移除。 
length:可選。數值。如果省略該參數,則移除數組中從 offset 到 結尾的所有部分。如果指定了 length 並且為正值,則移除這麼多元素。如果指定了 length 且為負值,則移除從 offset 到數組末尾倒數 length 為止中間所有的元素。 
array:被移除的元素由此數組中的元素替代。如果沒有移除任何值,則此數組中的元素將插入到指定位置。 
如果函數沒有刪除任何元素 (length=0),則替代數組將從 start 參數的位置插入。 

 

註:W3school array_splice() 連結:http://www.w3school.com.cn/php/func_array_splice.asp

 

方法2:

1 <?php2 $arr2 = array(1,3, 5,7,8);3 foreach ($arr2 as $key=>$value)4 {5     if ($value === 3)6         unset($arr2[$key]);7 }8 var_dump($arr2);9 ?>

返回結果:array(4) { [0]=> int(1) [2]=> int(5) [3]=> int(7) [4]=> int(8) }

總結:可以看到使用array_splice()刪除特定值和使用unset刪除特定值是有區別的。

array_splice()函數刪除的話,數組的索引值也變化了,並且重建立立了索引。

unset()函數刪除的話,數組的索引值沒有變化,就是說這種方法的最大缺點是沒有重建數組索引。 

PHP實現刪除數組中的特定元素

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.