Получить значения из ввода в PHP - PullRequest
0 голосов
/ 26 марта 2020

Я начал писать ассоциативный массив, подобный этому:

$array01 = array("George" => "USA", "Mario => "Italy", "Raj" => "India");

Затем я повторяю это

foreach($array01 as $x => $x_value) { echo "Name=" . $x . ", Country=" . $x_value; echo "<br>"; }

Теперь я хотел бы создать функцию, которая принимает в качестве входных данных имя, написанное пользователем, и возвращает соответствующее значение. Например, если пользователь вводит «Джордж», вывод будет «США» (может быть, с текстовым полем для ввода?). Я перепробовал много методов, но ничего не получалось. Вот моя попытка:

echo("Who are you looking for?");

$country = $_POST[$x];
{
foreach( $country as $key => $x_value )
    echo $array01[$x];
}

Ответы [ 2 ]

3 голосов
/ 26 марта 2020

Вы можете использовать функцию как

function printCountry($name) {
   $array01 = array("George" => "USA", "Mario" => "Italy", "Raj" => "India");
   return $array01[$name];
}

, затем вызвать функцию как

printCountry($_POST['name']);
1 голос
/ 26 марта 2020

В качестве простого дополнения вы можете проверить, существуют ли значения в массиве, используя, например, array_key_exists , прежде чем получать значение по индексу.

Вы также можете добавить проверку для получения $country из массива POST.

/**
 * @param $name
 * @return string|null
 */
function printCountry($name) {
    $array01 = array("George" => "USA", "Mario" => "Italy", "Raj" => "India");
    return array_key_exists($name, $array01) ? $array01[$name] : null;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...