Home >Backend Development >PHP Problem >How to add and delete elements to php array

How to add and delete elements to php array

青灯夜游
青灯夜游Original
2022-08-30 19:22:462023browse

Add method: 1. array_unshift() inserts elements at the beginning, the syntax is "array_unshift(array, element list)"; 2. array_push() inserts elements at the end, the syntax is "array_push(array, element)". Deletion method: 1. array_shift() deletes the first element, the syntax is "array_shift(array)"; 2. array_pop() deletes the last element, the syntax is "array_pop(array)".

How to add and delete elements to php array

The operating environment of this tutorial: windows7 system, PHP8.1 version, DELL G3 computer

php array adding elements Method

1. The array_unshift() function inserts new elements into the array

##array_unshift($array,$value1,$ value2...)The function can insert one or more new elements (key values) at the beginning of the array.

Let’s take a closer look at the following example:

<?php
$arr=array(10,12,20);
array_unshift($arr,8,"9");
var_dump($arr);
?>

array_unshift($arr,8,9)It can be seen that two characters are inserted at the beginning of the $arr array new elements: the value "8" and the string "9", so the output result is:

How to add and delete elements to php array

array_unshift() The function will not maintain the original numerical index relationship, but will delete all numerical key names and reassign them, that is, count again from 0; but all string key names will remain unchanged.

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array("a"=>"red","b"=>"green",3=>"pink");
echo "原来的数组:";
var_dump($arr);
array_unshift($arr,"blue");
echo "在开头插入一个新元素后:";
var_dump($arr);
?>

Output result:

How to add and delete elements to php array

2. The array_push() function inserts new elements into the array

array_push($array,$value1,$value2...)The function can insert one or more elements (key values) at the end of the array.

Let’s take a closer look at the following example:

<?php
$arr=array(10,12,20);
array_push($arr,8,"9",3.14);
var_dump($arr);
?>

array_push($arr,8,"9",3.14)It can be seen that in the $arr array Insert 3 elements at the end: integer "8", string "9" and floating point number "3.14", so the output result is:

How to add and delete elements to php array

The array_push() function is different from the array_unshift() function. It does not reset the numerical key name, but counts based on the original numerical key name.

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array("a"=>"red","b"=>"green",3=>"pink");
array_push($arr,8,"9",3.14);
var_dump($arr);
?>

Output result:

How to add and delete elements to php array

3. The array_pad() function inserts new elements into the array

array_pad($array,$size,$value)The function can insert a key value $value into the array $array, thereby filling the array to the specified The length of $size. (The $size parameter can be understood as the final number of elements in the array, that is, the length of the array after the insertion operation).

Let’s take a closer look at the following example:

<?php
$arr=array(10,12,20);
$result =array_pad($arr,5,1);
var_dump($result);
?>

As can be seen from

array_pad($arr,5,1), $size## The value of # is 5, then there are 5 elements in the array after the insertion operation; and there are 3 elements in the original array, then only 2 elements need to be inserted. And because the inserted value $value is 1, you only need to insert 2 elements with the value "1". Therefore, the output result is:

How to add and delete elements to php array
As can be seen from the above example, the array_pad() function can insert elements at the end of the array. In fact, the array_pad() function can also insert elements at the end of the array. Insert elements at the beginning; and the key is the

$size

parameter. The

$size

parameter has three values: if

    is a positive number, elements will be inserted at the end of the array;
  • If

  • is a negative number, insert the element at the beginning of the array;
  • If its absolute value is less than or equal to the length of the
  • $array

    array, no element will be inserted. Insert operation.

    <?php
    $arr=array(10,12,20);
    $result =array_pad($arr,-5,1);
    var_dump($result);
    $result =array_pad($arr,3,1);
    var_dump($result);
    $result =array_pad($arr,2,1);
    var_dump($result);
    ?>
  • The output result is:

How to add and delete elements to php arrayThe value of parameter

$value

can also be an array, that is Insert an entire array, and the original array will become a two-dimensional array. <pre class="brush:php;toolbar:false">&lt;?php header(&quot;Content-type:text/html;charset=utf-8&quot;); $arr=array(10,12,20); $result =array_pad($arr,-5,array(&quot;张三&quot;,25,&quot;男&quot;)); var_dump($result); ?&gt;</pre>The output result is:

How to add and delete elements to php array

#4. The array_splice() function inserts new elements into the array

array_splice($array,$start,$length,$value)

The function is a powerful function that can be used to delete array elements, replace array elements, and also insert array elements (just set the parameters $length can be set to 0). When

$length=0

, then the parameter $start can specify the position (subscript) to start inserting, and the parameter $value can The insertion value can be specified (if there are multiple values, it needs to be set as an array). Let’s take a closer look at the following example:

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array(10,12,20);
array_splice($arr1,0,0,"1");
var_dump($arr1);

$arr2=array(10,12,20);
array_splice($arr2,0,0,array("1",25,"3"));
var_dump($arr2);
?>

The output result is:

How to add and delete elements to php array

从上例可以看出,当$start=0时,会将$value值按顺序的插入到数组开头。那么想要在数组末尾插入元素要怎么弄?

简单,将$start的值设置为“数组长度值”,即count($arr)即可。

<?php
header("Content-type:text/html;charset=utf-8");
$arr1=array(10,12,20);
array_splice($arr1,count($arr1),0,"1");
var_dump($arr1);

$arr2=array(10,12,20);
array_splice($arr2,count($arr2),0,array("1",25,"3"));
var_dump($arr2);
?>

输出结果为:

How to add and delete elements to php array

php数组删除元素的方法

1、array_shift()函数删除第一个元素

array_shift() 函数用于删除数组中的第一个元素,并返回被删除的元素。

注释:如果键名是数字的,所有元素都将获得新的键名,从 0 开始,并以 1 递增

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

array_shift($arr);

echo "删除后的数组:" ;
var_dump($arr);
?>

How to add and delete elements to php array

2、array_pop()函数删除最后一个元素

array_pop() 函数删除数组中的最后一个元素。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

array_pop($arr);

echo "删除后的数组:" ;
var_dump($arr);
?>

How to add and delete elements to php array

3、array_unique()函数移除重复元素

array_unique() 函数用于移除数组中重复的值。如果两个或更多个数组值相同,只保留第一个值,其他的值被移除。

注释:被保留的数组将保持第一个数组项的键名类型。

array_unique(array,sortingtype)
参数 描述
array 必需。规定数组。
sortingtype 可选。规定排序类型。可能的值:
  • SORT_STRING - 默认。把每一项作为字符串来处理。
  • SORT_REGULAR - 把每一项按常规顺序排列(Standard ASCII,不改变类型)。
  • SORT_NUMERIC - 把每一项作为数字来处理。
  • SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(1,2,3,4,4,2,6);
echo "原数组:";
var_dump($arr);

echo "删除重复值后:" ;
var_dump(array_unique($arr));
?>

How to add and delete elements to php array

4、array_splice()函数删除任意位置元素

array_splice()是一个强大的函数,有多重功能:可以插入数组元素、可以替换数组元素,当然也可以删除数组元素(毕竟array_splice()函数的本职工作是删除指定元素并用其它值取代)。

array_splice()函数可以从指定位置开始删除指定个数的元素。

array_splice($arr,$start)会删除从$start位置开始的所有元素删除。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

echo "删除后的数组:" ;
array_splice($arr,2);
var_dump($arr);
?>

How to add and delete elements to php array

$start参数有三种取值情况:

  • 为正数,那么从$start位置开始,往后删除;

  • 为0,那么从第一个元素开始,往后删除;

  • 为负数,则从距离 $arr 末端 -start 的位置开始,从后往前删除。例如 -2 意味着从数组的倒数第二个元素开始。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

echo "删除后的数组:" ;
array_splice($arr,-2);
var_dump($arr);
?>

How to add and delete elements to php array

array_splice()函数是强大的,可以删除多个元素,也可只删除一个元素,那就需要给该函数指定一个$length参数(第三个参数),该参数用来规定删除的元素个数。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

echo "删除后的数组:" ;
array_splice($arr,2,1);
var_dump($arr);
?>

How to add and delete elements to php array

$length参数也有三种取值情况:

  • 为正数,那么就表示删除 length 个元素;

  • 为负数,那么将删除从 start 开始,到数组末尾倒数 length 为止的所有元素;

  • 如果省略,那么将删除从 start 开始,一直到数组末尾的所有元素。

<?php
header("Content-type:text/html;charset=utf-8");
$arr=array(10,12,20,25,24);
echo "原数组:";
var_dump($arr);

echo "删除后的数组:" ;
array_splice($arr,2,-1);
var_dump($arr);
?>

How to add and delete elements to php array

$length参数还可以为0,那么就表示不删除元素,可以和该函数的第四个参数$value相配合,进行插入操作(这里就不做具体介绍了)。

5、unset()函数删除指定下标元素

unset()函数可以删除指定下标(键名)的一个数组元素

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
  $arr = array(0 => "a", 1 => "b", 2 => "c");
  echo "原数组:";
  var_dump($arr);
  echo "删除后的数组:" ;
  unset($arr[1]);
          //↑ 你想删除的key
  var_dump($arr);
?>

How to add and delete elements to php array

推荐学习:《PHP视频教程

The above is the detailed content of How to add and delete elements to php 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