<?php$a = array(4=>array('Id'=>4, 'data'=>array('111', '222')));foreach ($a as &$value){
foreach ($value['data'] as &$val){
$val['Id'] = 4;
}
$value['name'] = 'haha';
}//var_dump($a);
foreach ($a as $value){
var_dump($value);
}二维数组,用了两个引用。但发现最后的结果不是想要的。
大家能解释一下吗?
foreach ($value['data'] as &$val){
$val['Id'] = 4;
}
$value['name'] = 'haha';
}//var_dump($a);
foreach ($a as $value){
var_dump($value);
}二维数组,用了两个引用。但发现最后的结果不是想要的。
大家能解释一下吗?
解决方案 »
- Notice: Undefined variable: PHP_SELF in /opt/lampp/htdo cs/xampp/lang/zh.php o
- 请教ldap_search()取不到数据的问题
- 帮忙看看仿作这个网站要多少钱?
- ASP的COOKIE能不能和PHP的COOKIE互通叱。。。
- 用Image_Graph在liunx下输出汉字的问题
- 请问如何用php函数取得客户端的时间?急!!!在线等!!!
- 诸位高手请帮忙:一个关于JSP和PHP转化的问题
- 菜鸟问题,getenv("DOCUMENT_ROOT"),和 getenv("HTTP_HOST")主要拿来做什么用?
- 【感言】做一个PHP网站真不容易。。。。吐槽一下
- 处理获取到的大量html数据
- PHP中上传照片问题
- subversion的问题
很郁闷 我以为会添加元素 没想到啊没想到 居然是很怪异的赋值 php底层做了啥啊
上面的代码只不过错误地对字符串用数组方式并用非数字的index赋值了而已试试这个就行了:$x='abcde';
$x['bbb']=1;
echo $x;这样是比较自然的方式:
$x='abcde';
$x[3]=1;
echo $x;
的确 原题就算写成$val['abcd']=4 也是一样的结果
<?php
$a = array(4=>array('Id'=>4, 'data'=>array('111','222')));foreach ($a as &$value){
$value['data']['Id'] = 4;
$value['name'] = 'haha';
}//var_dump($a);
foreach ($a as $value){
var_dump($value);
}
?>
<?php
$a = array(4=>array('Id'=>4, 'data'=>array('111', '222')));foreach ($a as &$value){
foreach ($value['data'] as &$val){
$val = array('Id' => 4,'Val' => $val);
}
$value['name'] = 'haha';
}
var_dump($a);
?>