php数组中添加数组
A. php中怎样向关联数组的指定位置插入另一个数组的元素
这个功能需求来自于网站运营策略,举倒子:
在一个排行列表中,默认有以下元素,顺序有一定的依据,假设是按下载次数排列。
$rows = array(
array('name'=>'QQ2010'),
array('name'=>'QQ2009'),
array('name'=>'迅雷5'),
array('name'=>'飞信2010'),
array('name'=>'Kugoo2010'),
array('name'=>'TTplayer'),
array('name'=>'Firefox4.0'),
array('name'=>'美图秀秀'),
array('name'=>'360safe'),
array('name'=>'Chrome6')
);
如果有一个客户[可牛杀毒]想买花10元/元下我们第二个位置,可以大家想,直接把QQ2009替换掉不就完事了吗。不,那样的话用户体验并不好,明明QQ2009是一个下载次数比较多的软件,为什么在列表中却没有了呢。
其实我们真正的需求是把QQ2009以下的单元都往后推,腾出第二个位置来给[可牛杀毒]。如果页面中只能显示10个单元,那倒霉的就是[Chrome6]了,谁叫他们付费买我们的位置呢,呵呵。
再说到程序原理上来吧,PHP要实现这个需求,挺简单,用数组函数array_splice就可以了,具体用法参照PHP手册。
给一个完整的例子吧:
<?php
$rows = array(
array('name'=>'QQ2010',),
array('name'=>'QQ2009',),
array('name'=>'迅雷5',),
array('name'=>'飞信2010',),
array('name'=>'Kugoo2010',),
array('name'=>'TTplayer',),
array('name'=>'Firefox4.0',),
array('name'=>'美图秀秀',),
array('name'=>'360safe',),
array('name'=>'Chrome6',),
);
$pop = array(
'2'=>array('name'=>'可牛杀毒'),
'5'=>array('name'=>'金山词霸2010'),
);
foreach($pop as $key=>$p){
array_splice($rows, $key-1, 0, array($p));
}
var_mp($rows);
?>
最近的结果是:
array(12) {
[0]=>
array(1) {
["name"]=>
string(6) "QQ2010"
}
[1]=>
array(1) {
["name"]=>
string(8) "可牛杀毒"
}
[2]=>
array(1) {
["name"]=>
string(6) "QQ2009"
}
[3]=>
array(1) {
["name"]=>
string(5) "迅雷5"
}
[4]=>
array(1) {
["name"]=>
string(12) "金山词霸2010"
}
[5]=>
array(1) {
["name"]=>
string(8) "飞信2010"
}
[6]=>
array(1) {
["name"]=>
string(9) "Kugoo2010"
}
[7]=>
array(1) {
["name"]=>
string(8) "TTplayer"
}
[8]=>
array(1) {
["name"]=>
string(10) "Firefox4.0"
}
[9]=>
array(1) {
["name"]=>
string(8) "美图秀秀"
}
[10]=>
array(1) {
["name"]=>
string(7) "360safe"
}
[11]=>
array(1) {
["name"]=>
string(7) "Chrome6"
}
}
B. 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客户"
}
}
(2)php数组中添加数组扩展阅读
与一维数组一样,行序号和列序号的下标都是从 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] 分别是这三个一维数组的数组名。
仅从表现形式上看,矩阵就是二维数组,所以矩阵的创建、表示以及一些操作和数组是一样的,而二者之间的区别在于所遵守的运算规则不同,矩阵的运算一般将矩阵看做是一个整体进行运算,而数组的运算则是对应元素的运算。
C. php中一个数组中嵌套一个数组
PHP中的 explode() 函数可以实现此功能语法 explode(separator,string,limit) 参数 描述 separator 必需,规定在哪里分割字符串。 string 必需,要分割的字符串。 limit 可选,规定所返回的数组元素的数目。例如: 输出如下: Array ( [0] => one [1] => two [2] => three [3] => four )
D. 如何将一个php二维数组插入另一个二维数组,如:
array_splice(array,offset,length,array)
array 必需。规定数组。
offset 必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。
length 可选。数值。如果省略该参数,则移除数组中从 offset 到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。
array 被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。
length 参数设置为 0:
<?php
$a1=array(0=>"Dog",1=>"Cat");
$a2=array(0=>"Tiger",1=>"Lion");
array_splice($a1,1,0,$a2);
print_r($a1);
?>
输出:
Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )
E. php 数组追加
在PHP里面,往数组中追加元素最简单的方法是使用[]赋值,例如需要在$arr添加一条123的语句是$arr[]=123,可以参考下面的代码:
<?php
$arr=[123,456];
print_r($arr);
$arr[]=789;
print_r($arr);
?>
(5)php数组中添加数组扩展阅读:
PHP函数
constant() 函数返回常量的值。
connection_status() 函数返回当前的连接状态。
connection_aborted() 函数检查是否断开客户机。
zip_read() 函数读取打开的 zip 档案中的下一个文件。
zip_open() 函数打开 ZIP 文件以供读取。
zip_entry_read() 函数从打开的 zip 档案项目中获取内容。
zip_entry_open() 函数打开一个 ZIP 档案项目以供读取。
F. php里面怎么新建数组
php里面新建数据可以通过两种方式,一种是通过array函数来创建,另一种就是通过赋值[]来创建。
<?php
$arr1=array(1,2,3,4);
var_mp($arr1);
$arr2[0]=1;
$arr2[1]=2;
$arr2[2]=3;
$arr2[3]=4;
var_mp($arr2);
G. PHP如何动态为多维数组的子数组分别添加元素
$a=array(0=>array("name"=>"a","mail"=>"b"),1=>array("name"=>"d","mail"=>"e"));
functionaddkey(&$val,$key,$param)
{
$val[$param['key']]=$param['val'];
}
array_walk($a,'addkey',array('key'=>'tel','val'=>'123'));
print_r($a);
H. php 一个结果集中有多个数组,怎样将它放入一个新的数组中
合并数组可以使用array_merge() 这个函数,
array_merge() 函数把两个或多个数组合并为一个数组。
如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。
I. php数组怎么添加一个元素
有两种方法添加一个元素:分别是 push()和arr[]
1、Php代码$arr = array();array_push($arr, el1, el2 ... eln);
2、Php代码$arr = array();$arr[] = el1;$arr[] = el2;...$arr[] = eln;
(9)php数组中添加数组扩展阅读:
PHP的大版本主要分三支:PHP4/PHP5/PHP6
其中,PHP4由于太古老、对QQ支持不力已基本被淘汰,请无视PHP4。
PHP6由于基本没有生产线上的应用,还基本只是一款概念产品,很多功能已在PHP5.3.3上实现,所以也不详述,请无视PHP6。
PHP5的版本主要分四支:PHP5.2之前的版本、PHP5.2.X、PHP5.3和日前发布的PHP5.4。
J. php如何实现往数组中添加元素又不改变下标的方法
在PHP中,使用array_push()函数可以向数组中添加元素,将传入的元素添加到某个数组末尾,并返回数组新的单元总数.
语法:int arrar_push(array array,mixed var[,mixed...])
说明:参数array为指定的数组,参数var是加入数组中的值.
使用array_push()函数向数组中添加元素,并输出添加元素后的数组,代码如下
$array = array(0=>'迅美科技',1=>'网站建设')
echo "添加前的数组元素:"
print_r($array);
echo"
";
array_push($array,'业务代表:李生')
echo"添加后的数组元素:"
print_r($array);
?>
运行代码后的结果为:
添加前的数组元素:Array([0]=>迅美科技 [1]=>网站建设)
添加后的数组元素:Array([0]=>迅美科技 [1]=>网站建设 [2]=>业务代表:李生)关于这个问题,差不多就是这个样子的了,你如果不明白,可以自己去后盾瞅瞅,我这些都是在后盾上学的,有空可以去看一下,就算不喜欢也没关系啊,何乐而不为呢?