Ответов: 5 Просмотров: 344
|
Спасибо за ответ. То что Вы показали я уже показывал в примере 1. Это я понимаю. У меня задача динамически фильтровать. То есть условие фильтрации по нескольким полям массива. И это условие постоянно меняется. То есть нужно что-то похожее на вот это.
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) подготовить.
Но никак не могу понять как эту строку передать array_filter
Мелкий пишет:При $b = 12; получаем константу в $condition как результат конкатенации строки с числом.
$string = 'a = 12';
или
$string = 'a = '.$b;
у вас удивления не вызывает? Что в $string окажется строка "a = 12"?
А в чём разница с $string = '$a = '.$b; или $string = '#a = '.$b; ? Никакой разницы. Конкатенация строки и переменной (приводимой к строке).
Могу попробовать угадать, что вы хотите сделать что-то вроде:
|