满意回答的那个答案是错误的
创新互联专注于企业全网营销推广、网站重做改版、济源网站定制设计、自适应品牌网站建设、html5、购物商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为济源等各大城市提供网站开发制作服务。
我今天和提问者一样遇到这个问题
想在二维数组里面插入新的值,并且是循环插入,新的键名是固定的,但是新的值不是固定,随机的。
我试过满意回答的答案,他这样的确插入了,新的键名是固定的。但是,所有新的值都是一样的,
我找到一个更好的方法,更简单
?php
$tel[1]="k";
$tel[2]="e";
$b=0;
$a=array(0=array("name"="a","mail"="b"),1=array("name"="d","mail"="e"));
foreach($a as $values){
$b=$b+1;
$values["tel"]=$tel[$b];
}
print_r($a);
//输出一定是:
//( [0] = Array ( [name] = a [mail] = b [tel] = k ) [1] = Array ( [name] = d [mail] = e [tel] = e ) )
//注意!!!foreach($a as $values){ 这一句里面有个,虽然我不懂是什么,但是加上这个就可以利用foreach给数组赋值,一维二维都行
?
可以按照 ly4885806 的方法 序列化成字符串插入数据库,不过这个只能插入一个字段不循环
如果你的数据是需要插入多个行和字段的话只能循环了
$Array = Array ( [0] = Array ( [0] = 张三 [1] = 70 ) [1] = Array ( [0] = 李四 [1] = 80 ) [2] = Array ( [0] = 王五 [1] = 90 )
?
$in_value_arr = array();
foreach($Array as $key=$value){
foreach($value as $k=$v){
$in_value_arr[]="(**,**,**)";
}
$in_value = '('.implode('),(', $in_value_arr).')';
$sql = "INSERT INTO tbl_name (col1,col2) VALUES{$in_value};";
}
?
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 )