zoukankan      html  css  js  c++  java
  • foreach 引用传值&

    foreach  引用传值&

    php 怎么在foreach中循环数组   ,的时候添加元素跟值

    foreach($arr as $key => &$vo){
            //注意,由于上面遍历的时候写了地址传值符&,
            //所以下面可以直接给$vo 赋值;如果不写&符号,下面这样写是没有任何意义的
            $vo['name'] = '张三';
            $vo['age'] = '20';
        }
        //这样我们就完成了对数组元素添加name属性和age属性了,
        在上面的写法中,如果我们不填写&符号,还可以使用下面的办法来添加属性,那就是
        $arr[$key]['name'] = '张三';
        $arr[$key]['age'] = '20';

    举例子:将data1中的1,4,分别插入data2的两个数组中去

    $data1 = Array(1,4);
    $data2 = array(
    array('北京'),
    array('黑龙江')
    );

    最终效果:

    Array ( 
      [0] => Array ( 
        [0] => 北京 
        [number] => 1 
      ) 
    
      [1] => Array ( 
        [0] => 黑龙江 
        [number] => 4 
      ) 
    
    )
    

      

      使用上面的方法;

    foreach ($data2 as $k=>$v) {
    $v['number'] = $data1[$k];
    }

    这里没有用&引用符,所以没效果,最终打印的结果是:打印data2没变化,只有打印$v才显示下面的结果

    print_r($v);die; // 上面的不加&连接符,相当于把循环的结果,最终付给了$v的这个数组变量了,跟data2没有关系;他们之间没有连接的桥梁,各式各的,没有关联。
    Array
    ( [0] => 黑龙江 [number] => 4 )

    如果要有效果,加上&符号,意思就是把遍历出来的data2里面的两个数组,每一个都加上number这个元素;相当于一个把data2里的值,跟number连接起来的作用,相当于一座桥梁,

    foreach ($data2 as $k=>&$v) {
    $v['number'] = $data1[$k];
    }

    或者不用引用符,直接用  data[$k]['num'] 

    foreach ($data2 as $k => $v) {
    $data2[$k]['num'] = $data1[$k];
    }
    

      结果:

    Array
    (
        [0] => Array
            (
                [0] => 北京
                [num] => 1
            )
    
        [1] => Array
            (
                [0] => 黑龙江
                [num] => 4
            )
    
    )
    

      

    给一个数组添加一个元素的其中之一的方法就是下面

    $arr = array('北京');
    $arr['aa'] = 55;

    结果:给arr添加一个aa键名,值为55

    Array
    (
        [0] => 北京
        [aa] => 55
    )
  • 相关阅读:
    win7最新版下载与密钥 | Win7用户福音:微软集成更新的新版Windows 7镜像泄露
    迅捷PDF编辑器 v2.1.0.1 中文免费版
    解决移动网络无法访问胡萝卜周网站(www.carrotchou.blog)
    vue启动流程
    vue--综合组件间的通信
    网络请求
    vue环境搭建
    vue--路由嵌套
    vue路由高级用法
    vue-router实现组件间的跳转---参数传递
  • 原文地址:https://www.cnblogs.com/yszr/p/10586250.html
Copyright © 2011-2022 走看看