Я пытаюсь сопоставить значения из ввода пользователя ($index
) с существующим массивом ($ppeWorn
). Пользователь может выбрать более одного варианта. Когда я пытаюсь выяснить, есть ли ключи пользовательского ввода, соответствующие массиву $ppeWorn
, я получаю только первый выбранный элемент.
Значение dd($indexArray)
:
array:2 [
0 => "1"
1 => "2"
]
Мой код:
case 7:
$index = ($parts[6]) ;
$ppeWorn = [
'None',
'Gloves',
'Fabric mask',
'Surgical/Medical mask',
'N95 mask (or equivalent)',
'Face shield or goggles/protective glasses',
'Disposable gown',
'Waterproof apron',
];
$indexArray = explode(',', $index ) ;
dd($indexArray);
foreach($indexArray as $value) {
if ($ppeWorn[$value]) {
$session["ppes"] = $ppeWorn[$value];
$this->setSession($session);
dd($session);
$response = $this->sessionOpeningTag . "Have you received IPC training?\n1. Yes\n2. No";
} else {
$response = $this->sessionClosingTag . "You have entered an invalid answer";
$this->deleteSession($session);
}
}
break;