php,有木有高手帮忙解答!
<?php$aa=array();$bb=array();$cc=array('aaa','bbb','ccc','ddd','eee');foreach($ccas$c...
<?php
$aa=array();
$bb=array();
$cc=array('aaa','bbb','ccc','ddd','eee');
foreach($cc as $c){
$aa[] = &$bb[$c]; //这个$bb 前面加了&,什么意思?引用谁? 不加就报错 Undefined index!
}
print_r($aa);
print_r($bb);
?>
求高手解答一下谢谢了! 展开
$aa=array();
$bb=array();
$cc=array('aaa','bbb','ccc','ddd','eee');
foreach($cc as $c){
$aa[] = &$bb[$c]; //这个$bb 前面加了&,什么意思?引用谁? 不加就报错 Undefined index!
}
print_r($aa);
print_r($bb);
?>
求高手解答一下谢谢了! 展开
3个回答
展开全部
首先你的指导赋值的两种形式的区别:①值传递②引用传递
没有添加 & 符号 报错为notice 级别说明 ,变量的没有被赋值。
foreach中相当于:
$aa[0] = & $bb['aaa'] ;
$aa[1] = & $bb['bbb'] ;
.....
4. 可以使用var_dump(变量) 函数调试看看,功能很强大;
说明一下:值传递和引用传递的区别
1.赋值原理:
变量是有三部分组成:$v = 100;
值空间(100)
标识符(v) $只是一个语法要求,无实际意义
两者之间的引用
2.值传递,比如$m = $v;
是指为把其值空间复制一份,开辟新变量开辟新的空间
3.引用传递:如$n = $v;
仅仅是把引用复制一份,新复制的一份由$n的标识指向$v的值空间
展开全部
这里& 确实是引用的意思 引用 $bb[$c] 也就是指向存储 $bb[$c] 值的内存地址 这里循环的时候 $bb[$c] 应该都是空的吧所以地址也是没有的 不难得出$aa 得到的也是一个长度为5 每个值都是空的数组,,我的理解是这样的,希望能够帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询