PHP数组元素添加到数组的头部(array_unshift)

  •   
  • 4319
  • PHP
  • 37
  • super_dodo
  • 2017/02/21

在PHP中像数组中添加元素比较常见的是array_push函数,即数组的入栈操作,但是这个函数是将元素添加到数组的末尾,如果需要将数组元素压入到数组的头部(即第一个元素)该如何操作呢?

使用PHP内置函数 array_unshift ,下面就将 array_unshift 这个函数的用法列举一下。array_unshift该函数的作用是在数组开头插入一个或多个元素。被加上的元素作为一个整体添加,这些添加的元素在数组中的顺序和在参数中的顺序一样。修改后的数组中所有的数值键名将修改为从零开始重新计数,所有的文字键名保持不变。该函数会返回操作后数组中元素的个数。

//语法:int array_unshift ( array &$array ,mixed $var [,mixed $... ] )

//使用示例如下:
$arr = array("世界","您好!");
array_unshift($arr,"Hello","World");
print_r($arr);

//以上例程会输出:
Array
(
	[0] => Hello
	[1] => World
	[2] => 世界
	[3] => 您好!
)

同时我们复习一下PHP数组array_push()和array_pop()以及array_shift()函数

<?php 
/** 
 * array_push()将一个或多个单元压入数组的末尾(入栈) 
 */  
$stack = array("Java", "PHP", "C++");  
array_push($stack, "C#", "Ruby", array('jsp', 'Asp'));  
print_r($stack);  
echo "====================================="."<br>";  
//结果如下:
Array
(
	[0] => Java
	[1] => PHP
	[2] => C++
	[3] => C#
	[4] => Ruby
	[5] => Array
		(
			[0] => jsp
			[1] => Asp
		)

) 
===================================== 
  
/** 
 * array_pop() 将数组最后一个单元弹出(出栈) 
 */  
$stack = array("Java", "PHP", "C++", "C#", "Ruby");  
array_pop($stack);  
print_r($stack);  
echo "====================================="."<br>";  
//结果如下:
Array
(
	[0] => Java
	[1] => PHP
	[2] => C++
	[3] => C#
)
=====================================

  
/** 
 * array_shift()将数组开头的单元移出数组 array_unshift()在数组开头插入一个或多个单元  
 */  
$stack = array("Java", "PHP", "C++", "C#", "Ruby");  
array_shift($stack);  
print_r($stack);
//结果如下:
Array
(
	[0] => PHP
	[1] => C++
	[2] => C#
	[3] => Ruby
)

?> 

我必须是你近旁的一株木棉,作为树的形象和你站在一起。