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);

?>

求高手解答一下谢谢了!
展开
 我来答
tann1013
2014-03-28
知道答主
回答量:30
采纳率:0%
帮助的人:20.2万
展开全部
  1. 首先你的指导赋值的两种形式的区别:①值传递②引用传递

  2. 没有添加 & 符号 报错为notice 级别说明 ,变量的没有被赋值。

  3. foreach中相当于:  

    $aa[0]  =  &  $bb['aaa'] ; 

        $aa[1]  =  &  $bb['bbb'] ;

         .....

   4.  可以使用var_dump(变量) 函数调试看看,功能很强大;


说明一下:值传递和引用传递的区别

1.赋值原理:

变量是有三部分组成:$v = 100;

  1. 值空间(100)  

  2. 标识符(v)  $只是一个语法要求,无实际意义

  3. 两者之间的引用

2.值传递,比如$m = $v;

是指为把其值空间复制一份,开辟新变量开辟新的空间

3.引用传递:如$n = $v;

仅仅是把引用复制一份,新复制的一份由$n的标识指向$v的值空间


     

轻风来客
2014-03-27 · TA获得超过217个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:186万
展开全部
这里& 确实是引用的意思 引用 $bb[$c] 也就是指向存储 $bb[$c] 值的内存地址 这里循环的时候 $bb[$c] 应该都是空的吧所以地址也是没有的 不难得出$aa 得到的也是一个长度为5 每个值都是空的数组,,我的理解是这样的,希望能够帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aiitw
2014-03-27 · 超过69用户采纳过TA的回答
知道答主
回答量:347
采纳率:0%
帮助的人:187万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式