Home  >  Article  >  Backend Development  >  The difference between unset and array_splice in deleting elements in an array in PHP_PHP Tutorial

The difference between unset and array_splice in deleting elements in an array in PHP_PHP Tutorial

WBOY
WBOYOriginal
2016-07-13 10:21:40962browse

The difference between unset and array_splice in PHP to delete elements in an array

Deleting array elements in PHP is very simple, but sometimes deleting an array requires some sorting of the index. We will Related functions are used. Here we will introduce the difference between using unset and array_splice to delete 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 will not be rearranged:

$arr = array('a','b','c','d');

unset($arr[1]);

print_r($arr);

 ?>

The result is:

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

So how can the missing elements be filled and the array re-indexed? The answer is array_splice():

$arr = array('a','b','c','d');

array_splice($arr,1,1);

print_r($arr);

 ?>

The result is:

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

Delete specific elements in the array

 $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 arrays

Example:

 $array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e' =>"");

array_filter($array);

echo "

";<p> </p>
<p>  print_r($array);</p>
<p>  ?></p>
<p>  结果:</p>
<p>  Array (</p>
<p>  [a] => abc</p>
<p>  [b] => bcd</p>
<p>  [c] => cde</p>
<p>  [d] => def</p>
<p>  )</p>
<p>  总结</p>
<p>  array_splice()函数删除的话,数组的索引值也变化了。</p>
<p>  unset()函数删除的话,数组的索引值没有变化。</p>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/852824.htmlTechArticleThe difference between unset and array_splice in PHP to delete elements in an array. Deleting array elements in PHP is very simple, but sometimes Deleting the array requires some sorting of the index. We will use the corresponding...
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