Есть код PHP: function change($id){ $all = array(array("app_id"=>730)); $arr = array_filter($all,function($a){ global $id; return $a["app_id"]==$g_id; }); } change(730); И в итоге $arr остается пустым массивом, я не могу понять в чем может быть проблема.
прошу прощения за свою бестолковость....но можно ли мне хотя бы намекнуть на то что делает эта функция?
@Dmitriy A. Arteshuk думаю он хочет отфильтровать массив и оставить только одно значение которое указал в аргументе и работающий вариант, примерно такой: PHP: <?php function change($id){ $all = array(array("app_id"=>730)); $arr = array_filter($all,function($a) use ($id) { return $a["app_id"]==$id; }); var_dump($arr); } change(730); но всё это попытки телепатии и выводы могут быть ошибочные
Тему можно закрыть,я детально глянул и списался в пм,там была проблема в use, так как он в анонимной функции использовал переменную $g_id из вне
@Great_DUKE $arr же существует только в нутри функции, нужно либо вернуть return $arr; либо использовать глобальные переменные в начало функции вставить global $arr; и я не уверен но global $id; возможно портит результат