Home  >  Article  >  Backend Development  >  How to use unset, array_splice to delete elements in an array

How to use unset, array_splice to delete elements in an array

伊谢尔伦
伊谢尔伦Original
2017-06-24 09:30:381158browse

Deleting array elements in php is very simple, but sometimes deleting an array requires some sorting of the index. We will use the relevant functions , here we will introduce the difference between using unset,array_spliceDeleting elements in an array

If you want to delete an element in an array, you can use unset directly, but the index of the array does not Will rearrange:

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

The result is:

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

So how can we ensure that the missing elements are filled and the array is re-indexed? The answer is 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); 
?>

The result is:

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

Delete specific elements in the array

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

Supplementary deletion of empty array

Example:

<?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);
?>

Result:

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

Summary

If the array_splice() function is deleted, the index value of the array will also change.
If the unset() function is deleted, the index value of the array will not change.

The above is the detailed content of How to use unset, array_splice to delete elements in an array. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn