php如何在删除数值型键名数组的第一个元素后,不改变其键名
php在对待array提供了很多操作,它可以代替c中的栈和队列来帮助我们完成很多事情
array_push()
array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。只能添加元素的值,不能添加键值对,要想添加键值对,可以直接赋值:
1 | $arr[$key] = $value; //前提,$arr是一个数组 |
array_pop()
array_pop() 函数删除数组中的最后一个元素(出栈)并返回被删除元素的值。
1 | $arr = array(1,2,3); |
array_shift()
array_shift() 函数删除数组中第一个元素(出队),并返回被删除元素的值。
如果键名是数字的,所有元素都会获得新的键名,从 0 开始,并以 1 递增(参见下面例子)。
1 | $a=array(0=>"red",1=>"green",2=>"blue"); |
如果不想改变其键名,博主用了一个比较笨的方法,把数组转化为对象,删除对象的第一个元素之后,再将对象转化为数组
1 | $arr = array("1"=>"red","2"=>"green","3"=>"blue"); |
array_unshift()
array_unshift() 函数用于向数组插入新元素。新数组的值将被插入到数组的开头(入队),返回数组中元素的个数。
数值键名将从 0 开始,以 1 递增。字符串键名将保持不变。
1 | $a=array(0=>"red",1=>"green"); |