У меня есть этот код, написанный на php для возврата foo, если bar задан, и bar, если задано foo. Я попытался и, похоже, не смог добавить catch, чтобы, если что-то, кроме foo или bar, будет введено, тогда «Неизвестный будет выходом».array_key_exists всегда возвращает false
<?php
echo("<html><body bgcolor='#ffffff'><h1>Welcome</h1>");
$input = $_GET["foobar"];
$array = array(
"foo" => "bar",
"bar" => "foo",
);
function getValue($value) {
if(array_key_exists($value, $array)) {
return $array[$value];
} else {
return "Unknown";
}
}
echo ("Input: ". $input .", Output: ". getValue($input));
echo("<br><br>");
print_r($array);
echo("</body></html>"); ?>
Однако, оказывается, что array_key_exists всегда возвращается фальшива, как, когда я иду на моей странице либо page.php Foobar = Foo или page.php Foobar = бар я получаю это:?
Welcome
Input: bar, Output: Unknown
Array ([foo] => bar [bar] => foo)
или его противоположность, где вход переключен на foo, но выход остается «Неизвестно».
Ваша функция ничего не знает о '$ array'. Таким образом, вы, вероятно, ** также ** не активировали отчет об ошибках/показ полностью (что бы вам рассказывало об ошибке). – LSerni