一、基本介绍
在介绍PHP array_unshift函数之前,首先需要了解什么是数组以及数组有哪些常用函数。
数组是一种可以同时存储多个值的变量,而数组函数又是用来对数组进行操作的,如在数组的开头添加元素,删除指定的元素,将数组逆序等,其中array_unshift函数是一种在数组开头添加一个或多个元素的函数。
array_unshift语法:
array_unshift(array, value1, value2,....)
参数说明:
- array:必需。规定要添加新元素的数组。
- value1:必需。规定要添加到数组的第一个元素。
- value2, ....:可选。规定要添加到数组的第二个、第三个元素等等。
返回值:返回新数组的元素个数。
二、添加单个元素到数组开头
下面代码演示了如何使用array_unshift函数向一个数字索引数组的开头添加一个元素:
$fruit = array("apple", "banana", "orange"); echo "添加前数组为:".json_encode($fruit)."
"; array_unshift($fruit, "pear"); echo "添加一个元素之后的数组为: ".json_encode($fruit);
执行结果为:
添加前数组为: ["apple","banana","orange"] 添加一个元素之后的数组为: ["pear","apple","banana","orange"]
三、添加多个元素到数组开头
使用PHP array_unshift函数可以向一个数组的开头添加一个或多个元素,下面演示如何添加多个元素:
$fruit = array("apple", "banana", "orange"); echo "添加前数组为: ".json_encode($fruit)."
"; array_unshift($fruit, "pear", "grape", "peach"); echo "添加多个元素之后的数组为: ".json_encode($fruit);
执行结果为:
添加前数组为: ["apple","banana","orange"] 添加多个元素之后的数组为: ["pear","grape","peach","apple","banana","orange"]
四、添加关联数组到数组开头
对于关联数组,使用array_unshift函数的方式与数字索引数组略有不同,不需要传入键值对,只需要传入关联数组即可:
$person = array("name"=>"John", "age"=>28); echo "添加前数组为:".json_encode($person)."
"; array_unshift($person, array("job"=>"developer")); echo "添加关联数组后的数组为:".json_encode($person);
执行结果为:
添加前数组为:{"name":"John","age":28} 添加关联数组后的数组为:[{"job":"developer"},"John",28]
五、注意事项
在使用PHP array_unshift函数时,需要注意以下几点:
- 只能向数组的开头添加元素,不能添加到数组的中间或者结尾。
- 如果向空数组中添加元素,则元素将被添加到数组中,且数组的键值从0开始递增。
下面代码演示了向空数组中添加元素的情况:
$empty_arr = array(); echo "添加前数组为: ".json_encode($empty_arr)."
"; array_unshift($empty_arr, "hello"); echo "添加元素后的数组为:".json_encode($empty_arr)."
"; array_unshift($empty_arr, "world"); echo "再次添加元素后的数组为:".json_encode($empty_arr);
执行结果为:
添加前数组为: [] 添加元素后的数组为:["hello"] 再次添加元素后的数组为:["world","hello"]
六、总结
PHP array_unshift函数是一种在数组开头添加一个或多个元素的函数,使用方法简单,开发者只需要传入要添加元素的数组和对应的元素即可。同时需要注意存在一个空数组的情况,此时需要将元素添加到数组开头,而不能添加到数组的中间或末尾。