標籤: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實現刪除數組中的特定元素