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);