加入收藏 | 设为首页 | 会员中心 | 我要投稿 92站长网 (https://www.92zz.com.cn/)- 语音技术、视频终端、数据开发、人脸识别、智能机器人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php怎么从二维数组上取出几列

发布时间:2023-10-05 16:32:19 所属栏目:PHP教程 来源:互联网
导读:   这篇文章主要讲解了“php怎么从二维数组中取出几列”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php怎么从二维
  这篇文章主要讲解了“php怎么从二维数组中取出几列”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php怎么从二维数组中取出几列”吧!
 
  一、使用循环遍历
 
  最简单的方法是使用循环遍历二维数组,从中取出需要的列。下面是一个示例代码:
 
  $array = array(
 
    array('id'=>1, 'name'=>'张三', 'age'=>18, 'address'=>'北京'),
 
    array('id'=>2, 'name'=>'李四', 'age'=>20, 'address'=>'上海'),
 
    array('id'=>3, 'name'=>'王五', 'age'=>22, 'address'=>'广州'),
 
  );
 
  $columns = array('name', 'age');
 
  foreach($array as $key => $item){
 
    foreach($columns as $col){
 
      echo $item[$col]."  ";
 
    }
 
    echo "<br/>";
 
  }
 
  这里我们定义了一个二维数组$array,包含了每个人的id、name、age和address等信息。我们需要从中取出name和age这两列信息。使用两个foreach循环分别遍历数组和需要输出的列。通过$item[$col]可以取出每个人的对应信息,然后直接输出即可。
 
  二、使用array_column函数
 
  PHP的array_column函数可以从二维数组中直接取出某一列,不需要自己写循环。下面是一个示例代码:
 
  $array = array(
 
    array('id'=>1, 'name'=>'张三', 'age'=>18, 'address'=>'北京'),
 
    array('id'=>2, 'name'=>'李四', 'age'=>20, 'address'=>'上海'),
 
    array('id'=>3, 'name'=>'王五', 'age'=>22, 'address'=>'广州'),
 
  );
 
  $columns = array('name', 'age');
 
  $result = array_column($array, $columns[0]);
 
  for($i=1; $i<count($columns); $i++){
 
    $temp = array_column($array, $columns[$i]);
 
    $result = array_map(null, $result, $temp);
 
  }
 
  foreach($result as $value){
 
    echo $value[0]." ".$value[1]."<br/>";
 
  }
 
  这里我们同样定义了一个二维数组$array,和需要输出的列$columns。通过调用array_column函数,可以直接从$array中取出所有name列的值,然后使用array_map函数将多个列的值合并为一个二维数组$result。最后通过foreach循环输出$result中的每一行数据即可。
 
  三、使用array_reduce函数
 
  另一个实现方法是使用PHP的array_reduce函数。array_reduce函数是将一个数组合并为一个值,常用于对数组求和或计算最大值等操作。下面是一个示例代码:
 
  $array = array(
 
    array('id'=>1, 'name'=>'张三', 'age'=>18, 'address'=>'北京'),
 
    array('id'=>2, 'name'=>'李四', 'age'=>20, 'address'=>'上海'),
 
    array('id'=>3, 'name'=>'王五', 'age'=>22, 'address'=>'广州'),
 
  );
 
  $result = array_reduce($array, function($carry, $item){
 
    return array($carry[0]." ".$item['name'], $carry[1]." ".$item['age']);
 
  }, array('',''));
 
  echo $result[0]."<br/>";
 
  echo $result[1]."<br/>";
 
  这里我们同样定义了一个二维数组$array。通过调用array_reduce函数,将每个一维数组$item中的name和age信息分别合并为一维数组$carry。最后输出合并后的结果即可。
 

(编辑:92站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章