Не работает функция, из-за глобально переменной

189
01 ноября 2018, 20:40

Если так то все нормально

function getPassword() { 
    $length = 12;                                       
$password = getRandomPassword();
    do {
       $password = getRandomPassword();
    } while(iconv_strlen($password, 'UTF-8') != $length);
    return $password;

но если $lengthсделать глобальной и локализовать ее:

$length = 12;
function getPassword() { 
$L_length = $length;                                            
$password = getRandomPassword();
    do {
       $password = getRandomPassword();
    } while(iconv_strlen($password, 'UTF-8') != $L_length);
    return $password;

то выдает Maximum execution time of 30 seconds exceeded

Answer 1

Чтоб переменная была глобальной, мало вынести за пределы видимости функции, это надо еще и указать, тут вам не JS.

$length = 12;
function getPassword() {
global $length;  // <--- Воть
$L_length = $length;                                            
$password = getRandomPassword();
    do {
       $password = getRandomPassword();
    } while(iconv_strlen($password, 'UTF-8') != $L_length);
    return $password;

Почитать в туалетике: Область видимости переменной

READ ALSO
Как передать JS-переменную Ajax"ом в PHP скрипт

Как передать JS-переменную Ajax"ом в PHP скрипт

есть JS-переменная var str = 15;

169
Как вызывать константы из библиотеки dll в PHP

Как вызывать константы из библиотеки dll в PHP

Всем приветНе могу разобраться в следующем

187
Laravel отображение картинок из public/storage

Laravel отображение картинок из public/storage

Не отображается картинка из storageСделал линк в public папку с помощью команды php artisan storage:link и загрузил туда картинку

174