PHP学习中遇到的坑

  1. 数组引用
    先来个错误的例子
  $columns=array();
  foreach($fieldcolumns as $value)
{
    $data=array();
    $columns[]=$data;
    $data['name']=$value->name;
    $data['type']=$DataType[$value->type];
}

本来是想在columns数组里添加data数组,按照上述写法发现columns数组里有值 但是值都空数组。

原因 $columns[]=$data;可以理解为深拷贝,同时拷贝了数据和地址
解决方法:$columns[]=&$data,表示指向了同一个地址

你可能感兴趣的:(PHP学习中遇到的坑)