php二维数组的取值与转换

时间:2023-03-09 18:59:50
php二维数组的取值与转换
 while(list($key,$value) = each($arr))
{
while(list($k,$v) = each($value))
{
echo $key."==>".$k."===>".$v."<br>";
}
}
 $msg = array(
  array(
    'id'=>'45s',
    'name'=>'jacks'
  ),
  array(
    'id'=>'3s4',
    'name'=>'masry'
  ),
  array(
    'id'=>'7s8',
    'name'=>'lili'
  ),
);
一般实现方法:
1解:foreach($msg as $k => $v){
    $ids[] = $id;
    $names[] = $name;
  }
2解:$ids = array_column($msg, 'id');
   $names = array_column($msg, 'name');
以上两种解法print_r($names);后的结果为:
Array(
  [0]=>jack
  [1]=>mary
  [2]=>lili
)
3
快速实现方法:
注意:array_column();可以有第三个参数,如 $n = array_column($msg, 'name', 'id');
print_r($n);的结果为:
Array(
  [45]=>jacks
  [34]=>masry
  [78]=>lili
)
 public  function arrayChange($a){
static $arr2;
foreach($a as $v)
{
if(is_array($v))
{
$this->arrayChange($v);//这里tp加this
}else{ $arr2[]=$v;
}
} return $arr2; }