Home  >  Article  >  Backend Development  >  How to add elements to php array

How to add elements to php array

L
LOriginal
2020-06-01 15:10:162884browse

How to add elements to php array

How to add elements to php array

1. array_unshift() inserts new elements into the array head

$fruits = array('apple','pear','banana','orange');
array_unshift($fruits, 'cherry');
    pr($fruits);
function pr($str){    
    echo "
";    
    print_r($str);    
    echo "
"; }

Output:

Array(
    [0] => cherry
    [1] => apple
    [2] => pear
    [3] => banana
    [4] => orange
)

Multiple elements can be passed to array_unshift

$fruits = array('apple','pear','banana','orange');
array_unshift($fruits, 'cherry','pie');
pr($fruits);

Output:

Array(
    [0] => cherry
    [1] => pie
    [2] => apple
    [3] => pear
    [4] => banana
    [5] => orange
)

2. The similar function array_push inserts one or more elements to the end of the array element.

3. array_splice() inserts new elements at any position (regardless of key names)

$fruits = array('apple','pear','banana','orange');
//第三个参数固定为0,第二个参数为插入的索引位置,最后一个参数是插入的元素,如果插入多个,写成数组
array_splice($fruits,3,0,'pie');
pr($fruits);

Output:

Array(
    [0] => apple
    [1] => pear
    [2] => banana
    [3] => pie
    [4] => orange
)

//Insert multiple new elements, written in array form

$fruits = array('apple','pear','banana','orange');$new_items = array('pie','pie2');
array_splice($fruits,3,0,$new_items);
pr($fruits);

Output:

Array(
    [0] => apple
    [1] => pear
    [2] => banana
    [3] => pie
    [4] => pie2
    [5] => orange
)

4. Insert new elements at any position (considering the case of numeric key names)

There is a disadvantage in using array_splice(), it cannot retain numbers. Key name.

There is a known array below

array(7=>'apple',3=>'pear',5=>'banana',2=>'orange');

To insert a new element new fruit after the second element pear, the key name is 6.

The implementation process is a bit tortuous, new The array consists of three parts. See the code for details:

$new_key = 6;
$new_value = 'new fruit';
$exist_value = 'pear';
$array = array(7=>'apple',3=>'pear',5=>'banana',2=>'orange');
$pp = insert_array($array,$exist_value,$new_key,$new_value);
pr($pp);
function insert_array($array,$exist_value,$new_key,$new_value){
    $search_key = array_search($exist_value,array_values($array));
    if($search_key !== false){
        $new_array = array();
        $len = count($array);
        $arr_before = array_slice($array,0,$search_key+1,TRUE);
        $arr_after =$search_key == 0 ? array_slice($array,$search_key,$len,TRUE) : array_slice($array,$search_key-1,$len,TRUE);
        foreach($arr_before as $k=>$v){
            $new_array[$k] = $v;
        }
        $new_array[$new_key] = $new_value;
        foreach($arr_after as $k=>$v){
            $new_array[$k] = $v;
        }
    }else{
        $new_array = $array;
        $new_array[$new_key] = $new_value;
    }
    return $new_array;
}

Recommended tutorial: "PHP Tutorial"

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