Прошу помощи) Пользователь передаёт запрос через форму. Нужно проверить, есть ли совпадение с данными в массиве. И если есть – вывести. Уже голову сломал. Дошел до этого: /*сам массив*/ $arr_dom= [ array("Имя" => "Adidas Lake Shoes", "Номер" => 125452), array("Имя" => "Adidas Dipper Shoes", "Номер" => 125335), array("Имя" => "Adidas Mable Shoes", "Номер" => 125758), array("Имя" => "Adidas Stan Shoes", "Номер" => 125447), array("Имя" => "Nike Mike Shoes", "Номер" => 125544), array("Имя" => "Nike Strike Shoes", "Номер" => 145455), array("Имя" => "Nike Spyke Shoes", "Номер" => 147565), array("Имя" => "Nike Bike Shoes", "Номер" => 125668), ]; /*проверка и вывод*/ $needle=$_POST["firstname"]; $poisk = array_search("$needle", $arr_dom); for ($i=0; $i < sizeof($arr_dom); $i++) { if ($i === $poisk) { foreach ($arr_dom[$i] as $key => $value) { echo $value." "; } } else { echo "Совпадений нет"; } } Чувствую, что где-то близко, но знаний не хватает.
PHP: foreach ( $arr_dom AS $column ) { if ( $column['Имя'] === $_POST['firstname'] ?? null ) { echo $column['Имя'] . ' - ' . $column['Номер']; } }
Оформляйте код в специальные блоки. Кнопка </> . Не забудьте выбрать язык. Функция array_search() с вероятностью 99% будет выдвать false. Вот эти строки бессмыслены: PHP: $needle=$_POST["firstname"]; $poisk = array_search("$needle", $arr_dom); Алгоритм вполне сойдет подобного плана: PHP: $key = -1; if (isset($_POST['firstname'])) { foreach ($arr_dom as $k => $value) { if ($value['Имя'] == $_POST['firstname']) { $key = $k; } } } В этом случае в $key будет либо -1, либо ключ массива. Со значением $key при инициализации можно поиграться - это может быть false, null - любое значение, которое не может оказаться в качестве ключа массива $arr_dom. По значению ключа делается вывод - либо значения из массива, либо надпись, что совпадений не найдено.