Warning: session_start(): open(/home/var/php/1/m/sess_1ma30l6cmatqgsfih95g9jlsr3, O_RDWR) failed: No such file or directory (2) in /home/users/web07/2/1/0219112/phyokin/devlog/controllers/controller.php on line 15

Warning: session_start(): Failed to read session data: files (path: 2;/home/var/php) in /home/users/web07/2/1/0219112/phyokin/devlog/controllers/controller.php on line 15
devlog
MW211 EXIT

devlog
PHP/【未解決】配列の列の横断的抽出
2012年06月27日
┌──────────────────────────────────────┐
│$array = array(                                                             │
│  1 => array('id' => 1, 'code' => 'a'),                                     │
│  2 => array('id' => 2, 'code' => 'b'),                                     │
│  3 => array('id' => 3, 'code' => 'c')                                      │
│);                                                                          │
└──────────────────────────────────────┘
例えば上記のような二次元配列があって、code列だけを抽出したい場合に、
簡単に実現できる方法はないものだろうか

以下のような力技が思いつくがもっとスマートにできないものか
┌──────────────────────────────────────┐
│function array_keys2($array, $key) {                                        │
│  $return = array();                                                        │
│  foreach ($array as $value1) {                                             │
│    foreach ($value1 as $key2 => $value2) {                                 │
│      if ($key2 === $key){                                                  │
│        $return[] = $value2;                                                │
│      }                                                                     │
│    }                                                                       │
│  }                                                                         │
│  return $return;                                                           │
│}                                                                           │
└──────────────────────────────────────┘
分類:PHP配列、【未解決】