вывод значения массива, дающего ключ от другого массива - PullRequest
0 голосов
/ 06 июня 2018

Я знаю, что это просто, но я не могу обдумать это ...

У меня есть 2 массива.Оба заполняются из базы данных.

Массив 1

Array ( 
[sailID] => 7 
[sailTag] => 100004 
[assigneduser] => Jason Ellmers 
[assigneddate] => 2018-05-30 17:48:57 
[cutuser] => Jason Ellmers 
[cutdate] => 2018-05-30 20:31:23 
[stickuser] => Jason Ellmers 
[stickdate] => 2018-05-30 20:38:24 
[corneruser] => Jason Ellmers 
[cornerdate] => 2018-05-30 20:38:54 
[finishuser] => Jason Ellmers 
[finishdate] => 2018-05-30 20:39:53 
[checkuser] => 
[checkdate] => 0000-00-00 00:00:00 
[DesignRef] => 420abcdefg 
[OrderingLoft] => 1 
[ClassRef] => 1 
[ClothType] => Bainbridge 
[ClothColour] => White 
[ClothWeight] => 12oz 
[SailNo] => GB342398 )

Массив 2

Array ( 
[0] => Array ( 
      [id] => 1 
      [name] => 420 ) 
[1] => Array ( 
      [id] => 2 
      [name] => J24 ) )

То, что я делаю после того, как могу отобразить экран $ array1[«Где ClassRef является поиском идентификатора в Array2» и отображает имя из Array2]

Так что для приведенного выше примера эхо будет «420»

Я думаю, я мог бы сделатьон использует цикл foreach или while, но это кажется немного громоздким ???

1 Ответ

0 голосов
/ 06 июня 2018

Мне пришлось собрать некоторые тестовые данные вместе, но из комментария идея состоит в том, чтобы переиндексировать второй массив, используя array_column() с идентификатором в качестве индекса, поэтому код (как ты разобрался) это ...

$array1 =[
    "sailID" => 7,
    "sailTag" => "100004",
    "ClassRef" => 1 ];

$array2 = [["id" => 1, "name" => "420"],
    ["id" => 2, "name" => "J24"]];

$array2 = array_column($array2, "name", "id");

echo $array2[$array1["ClassRef"]];
...