php插入数组
① php数组怎么添加一个元素
1. php中增加数组元素的方法:
(1)通过赋值增加数组元素 :$states[‘name’]=’Tom’;
(2)int array_push(array target_array,mixed variable [,mixed variable…]) 函数将variable增加到target_array的末尾,成功时返回true,否则返回false,其中variable可以是多个;
(3)int array_unshift(array target_array,mixed variable [,mixed variable…]) 函数将variable增加到target_array的数组头,成功时返回true,否则返回false,其中variable可以是多个。所有已有的数值键都会相应地修改,而关联键不受影响;
(4)array array_pad(array target_array,integer length,mixed pad_value) 将target_array 的大小增加到length指定的长度。
具体方法:
1.使用array_merge方法实现类似array_unshift在开头添加元素的功能
代码如下:
<?php
$queue = array('a', 'B');
$queue = array_merge(array('front' => 'hello'), $queue);
/*
Array
(
[front] => hello
[0] => a
[1] => b
)
*/
?>
2.+操作符
代码如下:
<?php
$queue = array('a', 'B');
$queue = array('front' => 'Hello') + $queue;
?>
输出结果与使用array_merge方法一样。
3.在元素结尾添加关联数组元素
代码如下:
<?php
$queue = array('a', 'B');
$queue['front'] = 'hello';
/*
输出
Array
(
[0] => a
[1] => b
[front] => hello
)
*/
?>
② php 把数组插入数据库
<?php
$post='20-2,19-1,18-1';//$post=$_POST['xinxi'];
$id='20121015194535123456';//添加自己生成dingid的逻辑
//分解POST信息
$post=explode(',',$post);
//遍历post数组,添加dingid数据
foreach($post as $k=>$v){
//将 20-2 分解
$post[$k]=explode('-',$post[$k]);
//在数组最前面加上dingid
array_unshift($post[$k],$id);
//重新组合为sql语句的values的子句
$post[$k]='('.implode(',',$post[$k]).')';
}
//组合sql语句
$post='INSERT INTO _table_(dingid,detailsid,buynumber) VALUES'.implode(',',$post);
//mysql_query函数
?>
③ PHP数组元素插入问题
array_push($array,'c' => 'Horse');
array_push($array,'d' => 'Pig');
④ php 怎么把接受到的数据 循环的添加到数组
遍历数据表,把相应的数据放到数组中即可
例如:
<?php
//定义一个数组,用于保存读取到的数据
$contents = array();
$query = mysql_query("select * from table");
//遍历数据表
while($array = mysql_fetch_array($query)){
$contents[] = $array;
}
print_r($contents);
//然后循环数组,或者通过键名使用数组
foreach($contents as $value){
print_r($value);
}
echo $contents[0]['字段名称'];
?>
⑤ php怎样把一个数组放入另一个数组的子数组里面
<?php
$a=原数组
$b=array(array('a','b','c'), array(1,2,3));//被插入数组
foreach($a as $k=>$v){
$a[$k]['c']=&$b[$k]; //引用方式插入第三个项。
}
var_mp($a);//此时$a具有第三项了
⑥ PHP如何在数组中插入值
$input = array(12, 10, 9);
array_push($input,11);
rsort($input);
print_r($input);
⑦ 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客户"
}
}
(7)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] 分别是这三个一维数组的数组名。
仅从表现形式上看,矩阵就是二维数组,所以矩阵的创建、表示以及一些操作和数组是一样的,而二者之间的区别在于所遵守的运算规则不同,矩阵的运算一般将矩阵看做是一个整体进行运算,而数组的运算则是对应元素的运算。
⑧ php 数组添加元素
用array_slice()函数
array array_slice ( array myarray, int offset [, int length] )
返回myarray数组从地offset开始的length个元素
array_splice与上面的函数类似,只是把返回的部分删除或替代
你的问题实现方法(给你写成函数):
<?php
function array_insert($myarray,$value,$position=0)
{
$fore=($position==0)?array():array_splice($myarray,0,$position);
$fore[]=$value;
$ret=array_merge($fore,$myarray);
return $ret;
}
?>
此函数用法
返回一个数组,内容是在$myarray数组的$position处插入$value
例如:
$a=array("a", "b","c", "d");
$a=array_insert($a,"add",3);
print_r($a); //Array ( [0] => a [1] => b [2] => c [3] => add [4] => d )
【代码我测试过没有问题】
⑨ 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"
}
}
⑩ php数组中插入新的元素
你好,看你意思是要在每个二维数组里插入新的数据
<?php
foreach($arrsas$each){
$each['name']='wer';
$each['salary']='wer';//wer的值,可以自己动态调用
}
?>
希望能解决你的问题,还望采纳