首頁 >後端開發 >php教程 >如何使用unset,array_splice刪除陣列中的元素

如何使用unset,array_splice刪除陣列中的元素

伊谢尔伦
伊谢尔伦原創
2017-06-24 09:30:381208瀏覽

php中刪除陣列元素是非常的簡單的,但有時刪除陣列需要對索引進行一些排序要求我們會使用到相關的函數 ,這裡我們來介紹使用unset,array_splice刪除數組中的元素區別吧

如果要在某個數組中刪除一個元素,可以直接用的unset,但是數組的索引不會重排:

<?php 
$arr = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;);
unset($arr[1]);
print_r($arr);
?>

結果是:

Array ( [0] => a [2] => c [3] => d )

那麼怎麼才能做到缺少的元素會被填補並且陣列會被重新索引呢?答案是array_splice():

<?php 
$arr = array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;); 
array_splice($arr,1,1); 
print_r($arr); 
?>

結果是:

Array ( [0] => a [1] => c [2] => d )

#刪除陣列中特定元素

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

補充刪除空數組

#實例:

<?php
  $array = (&#39;a&#39; => "abc", &#39;b&#39; => "bcd",&#39;c&#39; =>"cde",&#39;d&#39; =>"def",&#39;e&#39;=>"");
  array_filter($array);
  echo "<pre class="brush:php;toolbar:false">";
  print_r($array);
?>

結果:

Array ( 
     [a] => abc 
     [b] => bcd 
     [c] => cde 
    [d] => def
)

總結 

array_splice()函數刪除的話,陣列的索引值也改變了。
unset()函數刪除的話,陣列的索引值沒有改變。

以上是如何使用unset,array_splice刪除陣列中的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn