dongwei7913 2015-01-23 21:58
浏览 57
已采纳

从多值数组中获取单值数组的最佳方法

Have array like this:

Array
(
    [0] => Array
        (
            [Slot_id] => 7048,
            [name] => value
        )

    [1] => Array
        (
            [Slot_id] => 7049,
            [name] => value
        )

)

I want to get the below array form

 Slot_id => Array
    (
       [0] => 7048,
       [1] => 7049
     )

currently i am using foreach function, any other best method?

  • 写回答

2条回答 默认 最新

  • dongxian6741 2015-01-23 21:59
    关注

    If you are using PHP >= 5.5 then array_column is the solution:

    $result = array_column($input, 'Slot_id');
    

    For earlier versions, either manually foreach or alternatively:

    • with array_map:

      // assumes PHP 5.3 for lambda function, for earlier PHP just do foreach
      $result = array_map(function($row) { return $row['Slot_id']; }, $input);
      
    • with array_walk:

      // assumes PHP 5.4 for short array syntax, for 5.3 use array() instead of []
      $result = [];
      array_walk($input, function($row) use (&$result) { $result[] = $row['Slot_id']; });
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 Matlab在app上输入带有矩阵形式的初始条件发生错误
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 用ADS设计一款的射频功率放大器