v.bubchikov
У меня задача динамически фильтровать данные массива. То есть условие фильтрации по нескольким полям массива. И это условие постоянно меняется. То есть нужно что-то похожее на вот это.
PHP:
$b = 12; // переменные получаются динамически $c = 13; $d = 50; $e = 65; $f = 1; $g = 10; $sport1 = array_filter($get_csv1, function($a) use($b, $c, $d, $e, $f, $g) {return $a[1] >= $b && a[1] <= $c && $a[2] >= $d && $a[2] <= $e && $a[3] >= $f && $a[3] <= $g;});Так все работает. НО Условия постоянно меняются и не все переменные имеют значения, некоторые иногда — пустая строка.
Вот и хотел сначала подготовить условие виде строки ($condition) . Примерно такPHP:
$b = 12; $condition = ‘$a[1] == ‘.$b;Но так не работает и я никак не могу понять как эту строку правильно передать в array_filter
Drunkenmunky
Приведите пример массива.
И какие данные из него необходимо извлечь.
А также пример постоянно меняющихся условий.
ADSoft
передавайте не строку, а ассоциативный массив …в функции фильтра смотрите — если непустой элемент массива — применяете фильтр свой