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

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

伊谢尔伦
Release: 2023-03-11 09:30:01
Original
1222 people have browsed it

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);
?>
Copy after login

The result is:

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

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); 
?>
Copy after login

The result is:

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

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);
?>
Copy after login

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);
?>
Copy after login

Result:

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

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template