@LyoSU
Программист-любитель

Как получить доступ к массиву функции внутри функции?

Собственно, вот код. Как заставить его работать? Про видимость знаю, но не пойму почему не получается.

function test()
{

	$arr = [0 => 'q', 1 => 'a'];

	function test2(){
		echo $arr[0];
	}

	test2();
}

test();
  • Вопрос задан
  • 443 просмотра
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
function test()
{
  global $arr;
  $arr = [0 => 'q', 1 => 'a'];

  function test2(){
    global $arr;
    echo $arr[0];
  }

  test2();
}

test();

php.net/manual/ru/language.variables.scope.php
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@GrimJack
Передать массив пробовали как аргумент?
Ответ написан
@McBernar
<?php

function test($func)
{
    $func();
}

$arr = [0 => 'q', 1 => 'a'];

$test2 = function() use ($arr) {
    echo $arr[0];
};

test($test2);
Ответ написан
Ваш ответ на вопрос

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

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