现在有一个二维数组 比如  $arr=array([0]=》array([id]=》1,[name]=》123)[1]=>array([id]=>2,[name]=>456))
现在我想把$arr 中的 name项的值 都改成456,怎么改??? 

解决方案 »

  1.   


    <?php  
    $arr=array(array('id'=>1,'name'=>123),array('id'=>2,'name'=>456));
    foreach($arr as $key=>$val)
    {
    $arr[$key]['name'] = '456';
    }print_r($arr);
    ?>
      

  2.   

    刚才问题描述的有点问题 $arr=array([0]=》array([id]=》1,[name]=》123456)[1]=>array([id]=>2,[name]=>456789))
      现在name字段有共同的字符456,我想把name字段都换成456, 这样怎么写呢
      

  3.   

    你是想换成
    arr=array([0]=》array([id]=》1,[456]=》name)[1]=>array([id]=>2,[456]=>name))
    这样吗? 还是
      

  4.   

    这样举例子 就清楚了 
    arr=array([0]=》array([id]=》1,[pic]=》“<div><img src='123.jpg' /></div>”)[1]=>array([id]=>2,[pic]=>"<div><img src='456.jpg'></div>"));
    我想在pic 字段中只保留 图片名称  其他的html 字符都去掉
      

  5.   

    不知道这样是不是你想要的结果
    <?php
    $arr =array(
    array("id"=>1,"pic"=>"<div><img src='123.jpg' /></div>"),
    array("id"=>2,"pic"=>"<div><img src='456.jpg'></div>")
    );
    $img = '#<img [^<>]*src\s*=\s*[\'"]*?(.+)[\'" ]#Uis';
    foreach($arr as $k=>$v){
    preg_match_all($img, $v['pic'], $img_array);
    $arr[$k]['pic'] = $img_array[1];
    }
    var_dump($arr);
    ?> 运行结果:array(2) {
      [0]=>
      array(2) {
        ["id"]=>
        int(1)
        ["pic"]=>
        array(1) {
          [0]=>
          string(7) "123.jpg"
        }
      }
      [1]=>
      array(2) {
        ["id"]=>
        int(2)
        ["pic"]=>
        array(1) {
          [0]=>
          string(7) "456.jpg"
        }
      }
    }