arraypush(array push pop)
php中array_push()函数的一些问题
int array_push ( array $array , mixed $var [, mixed $... ] )
array_push() 将 array 当成一个栈,并将传入的变量压入 array 的末尾。array 的长度将根据入栈变量的数目增加。和如下效果相同:
?php
$array[] = $var;
?
并对每个 var 重复以上动作。
返回数组新的单元总数。
在手册上找的,所以楼上的是对的
用array_push给数组添加一个属性值
(1)如果你的数组是一维数组:
如:?$arr?=?array('id'=1001);??给它加个name属性并且name属性有值
可以直接用?array_merge()来合并两个数组
$a?=?'小明';
$arr?=?array('id'=1001);
var_dump(array_merge($arr,?array('name'=$a)));
//输出:
array?(size=2)
??'id'?=?int?1001
??'name'?=?string?'小明'?(length=6)
(2)如果是多维数组:如二维数组,直接循环加属性即可:
as3中数组赋值是array.push("a")效率高,还是array[array.length]="a"效率高
先看数据:
多用了一种方法?
只进行了3次测试
push?方法?平均197毫秒左右
length?方法?平局?178毫秒左右?比push快了?大概10%
第三种方法?平均?125毫秒左右?比length快了?越30%
原因:
push?要执行类的方法,
lenth?要计算?类的长度
测试数据用的比较单一..有可能不准确,可以自己测试下~~
php一维数组怎么追加到二维数组中
假如$leve是是一维数组,$level是二维数组。
代码如下:
假如$leve是是一维数组,$level是二维数组,那么你只要用以下代码就可以进行追加了:
$level =array(3) {
[0]=
array(2) {
? ["id"]=
? int(0)
? ["levelname"]=
? string(12) "普通会员"
}
[1]=
array(2) {
? ["id"]=
? string(1) "8"
? ["levelname"]=
? string(9) "小二哥"
}
}
$leve = array('id'=2,'levelname'='VIP客户');
? $level[]= $leve;
追加以后是
array(3) {
[0]=
array(2) {
? ["id"]=
? int(0)
? ["levelname"]=
? string(12) "普通会员"
}
[1]=
array(2) {
? ["id"]=
? string(1) "8"
? ["levelname"]=
? string(9) "小二哥"
}
[2]=
array(2) {
? ["id"]=
? int(2)
? ["levelname"]=
? string(9) "VIP客户"
}
}
扩展资料
与一维数组一样,行序号和列序号的下标都是从 0 开始的。元素 a[i][j] 表示第 i+1 行、第 j+1 列的元素。数组 int a[m][n] 最大范围处的元素是 a[m–1][n–1]。所以在引用数组元素时应该注意,下标值应在定义的数组大小的范围内。
此外,与一维数组一样,定义数组时用到的“数组名[常量表达式][常量表达式]”和引用数组元素时用到的“数组名[下标][下标]”是有区别的。前者是定义一个数组,以及该数组的维数和各维的大小。而后者仅仅是元素的下标,像坐标一样,对应一个具体的元素。
C 语言对二维数组采用这样的定义方式,使得二维数组可被看作一种特殊的一维数组,即它的元素为一维数组。比如“int a[3][4];”可以看作有三个元素,每个元素都为一个长度为 4 的一维数组。而且 a[0]、a[2]、a[3] 分别是这三个一维数组的数组名。
仅从表现形式上看,矩阵就是二维数组,所以矩阵的创建、表示以及一些操作和数组是一样的,而二者之间的区别在于所遵守的运算规则不同,矩阵的运算一般将矩阵看做是一个整体进行运算,而数组的运算则是对应元素的运算。
Array的join、push、splice、slice各有何用途,splice与slice有何异同?
1. join()方法:join()方法的用途是连接字符串值,join()方法只有一个参数,即数组项之间使用的字符串
如:
var aColors = ["red","green","blue"];
alert(aCloors.join(“-”));//output “red-green-blue”
2.concat()方法:将参数附加到数组末尾,返回新的数组,concat()方法只有一个参数,即要加的项
如:
var aColors = ["red","green","blue"];
var aColors2 = aColors.concat(“yellow”,”purple”);
alert(aColors);//output “red,green,blue”
alert(aColors2);//output “red,green,blue,yellow,purple”
3.slice()方法:接收1个或2个参数,即要提取的项的起始位置和结束位置,如果只有一个参数该方法返回从该位置开始到数组结尾的所有项,如果有2个参数该方法返回第一个位置和第二个位置的所有项,不包括第二个位置的项
如:
var aCloros = ["red","green","blue","yellow","purple"];
var aCloros2 = aCloros.slice(1);
var aCloros3 = aCloros.slice(1,4);
alert(aCloros2);//output “green,blue,yellow,purple”
alert(aCloros3);//output “green,blue,yellow”
4.shift()方法:将删除数组中的第一个项,将其作为函数值返回
5.unshift()方法:把一个项放在数组的第一个位置,然后把余下的项下移一个位置
6.push()方法:在数组的结尾添加一个或多个项
7.pop()方法:删除最后一个数组项,将其作为函数值返回
8.splice()方法:把数据项插入数组中部,调用该方法时传入的参数不同作用不同
删除:传入2个参数,这2个参数是: 要删除的第一个项的位置和要删除的项的个数
替换而不删除:传入3个参数,这3个参数是:起始位置,0(要删除的个数),要插入的项
替换并删除:传入3个参数,这3个参数是:起始位置,要删除的数组项个数,要插入的项