Вывести каждое значение ключа из массива, если второй ключ массива равен

У меня есть два массива:

$choices = array  (
[model] => 3D Modeling / BIM
[edb] => Engineering & Design-Build
[gse] => Green & Sustainable Energy
[ipd] => Integrated Project Design
[lc] => Lean Construction
[mt] => Material Supply
[ecs] => Electrical Construction & Service
[fps] => Fire Protection Services
[hms] => HVAC & Mechanical Service
[tsl] => Traffic Signal & Lighting
)
$servicesSelected = array (
[model] => 0
[ipd] => 1
[lc] => 2
[mt] => 3
)

Я пытаюсь проверить, равен ли какой-либо из ключей массива 2 ключам массива 1, и вывести значение из массива 1, если этот ключ равен ключу массива 2. Я не совсем уверен, с чего начать. Но в этом примере я хотел бы повторить следующее, потому что их ключ к сопоставлению существует.

  • 3D-моделирование / BIM
  • Комплексный дизайн проекта
  • Lean Contruction
  • Поставка материалов

0

Решение

Это должно сделать это:

<?php
header('Content-Type:text/plain');
$choices = array  (
'model' => ' 3D Modeling / BIM',
'edb' => ' Engineering & Design-Build',
'gse' => ' Green & Sustainable Energy',
'ipd' => ' Integrated Project Design',
'lc' => ' Lean Construction',
'mt' => ' Material Supply',
'ecs' => ' Electrical Construction & Service',
'fps' => ' Fire Protection Services',
'hms' => ' HVAC & Mechanical Service',
'tsl' => ' Traffic Signal & Lighting');
$servicesSelected = array (
'model' => 0,
'ipd' => 1,
'lc' => 2,
'mt' => 3);

$printArray = array_intersect_key($choices , $servicesSelected );

var_export($printArray);
?>

Результат

array (
'model' => ' 3D Modeling / BIM',
'ipd' => ' Integrated Project Design',
'lc' => ' Lean Construction',
'mt' => ' Material Supply',
)
1

Другие решения

Сделай это

foreach($servicesSelected as $key2=>$serviceSelected)
foreach($choices as $key1=>$choice)
if($key1==$key2) echo $choice;
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector