@maragon

Как передачть значения массива из функции?

Конструкция примерно такая, возможно ли вообще подобное реализовать (без сессий, кук)?
$errors = array();
function test(){
    return $errors[] = 'empty_test';
}
test();
print_r($errors);

В данном примере массив ошибок пуст..
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ответы на вопрос 2
sergiks
@sergiks Куратор тега PHP
♬♬
Можно передать массив в функцию по ссылке:
$errors = array();
function test( &$arr) {
    $arr[] = 'empty_test';
}
test( $errors);
print_r($errors); /*
Array
(
    [0] => empty_test
)
*/
Ответ написан
Exomode
@Exomode
Архитектор ПО
Во-первых, юзайте global:
$errors = array();
function test(){
    global $errors;
    return $errors[] = 'empty_test';
}
test();
print_r($errors);

Во-вторых, лучше делать так:
$errors = array();

function test() {
    global $errors;
    $test = 'empty_test';
    $errors[] = $test;

    return $test;
}

test();
print_r($errors);

Или как выше сказали, через передачу аргумента по ссылке.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы