Кто-то, пожалуйста, объясните мне, почему это не работает, и что я делаю неправильно.По какой-то причине, когда я запускаю функцию validateUsername
, переменная $error
остается полностью неизменной, вместо оценки true
.Как это возможно?
Тем не менее, если я удаляю код внутри функции и запускаю его без вызова функции, он работает.Пример ниже настолько прост, что это практически псевдокод, и все же он не работает.Это поведение уникально для PHP?Я не хочу снова сталкиваться с этим на каком-то другом языке.
<?php
$username = 'danielcarvalho';
$error = false;
function validateUsername()
{
if (strlen($username) > 10)
{
$error = true;
}
}
validateUsername();
if ($error == false)
{
echo 'Success.';
}
else
{
echo 'Failure.';
}
?>