KHN-プログラミングブログ-

PHP 関数一覧 配列操作操作 ➃

array_column();

連想配列の特定のkeyを指定してvalueを取得する。

$user = [
    [
        'id' => 1,
        'name' => '斎藤',
    ],
    [
        'id' => 2,
        'name' => '伊藤',
    ],
    [
        'id' => 3,
        'name' => '山崎',
    ],
];

$userId = array_column($user,'id');

print_r($userId);

/*
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)
*/

応用

・テーブルが2つあったとする
 usersテーブルのidが一致するnameに対して検索し代入する。

★手順
 2つの配列をforeachで回し1つずつ取得
 検索をかけマッチしたら代入する。

<?php
$users = [
      [
          'id' => 1,
          'name' => '斎藤',
      ],
      [
          'id' => 2,
          'name' => '伊藤',
      ],
      [
          'id' => 3,
          'name' => '山崎',
      ],
  ];

  $owners = [
      [
          'id' => 1,
          'name' => '',
      ],
      [
          'id' => 2,
          'name' => '',
      ],
      [
          'id' => 3,
          'name' => '',
      ],
  ];

    foreach($users as $userKey=> $userValue){
      foreach($owners as $ownerKey => $ownerValue){
 if (strpos(strval($userValue['id']), strval($ownerValue['id'])) !== false) {
           $owners[$ownerKey]['name'] = $users[$userKey]['name'];
          } 
      }
  }
  print_r($owners);