У меня есть вопрос относительно применения пользовательской функции к mysql_fetch_assoc, пока она находится в цикле while.См. Код ниже.
//current php page
$query = mysql_query("SELECT ... "); //returns multiple rows
while($rs = whileF($query)) {
//do some fantastic stuff
}
//... functions.php page
function whileF($value = array()) {
$var = mysql_fetch_assoc($value);
foreach($var AS $k => $v) {
$var[$k] = stripslashes($v);
}
return $var;
}
Мой вопрос: я хотел бы иметь возможность автоматически вырезать косые черты различных полей с помощью этого типа функции (и я также хотел бы записать некоторую отладкуданные в случае необходимости), но, похоже, они не очень хорошо взаимодействуют.Если я сделаю ..
print_r($var);
, он вернет все значения в массиве, но, выполнив оператор foreach, я получу «Предупреждение: неверный аргумент передан для foreach () в / home / .../include/functions.php "и если я попробую это ...
$var = array_map('stripslashes',$var);
, я получу" Предупреждение: array_map () [function.array-map]: Аргумент # 2 должен быть массивом в /home /.../ includes / functions.php "
Нечетная часть, похоже, что она правильно применяет функции foreach / array_map (значения отбрасываются).Я не хочу отключать ошибки, просто чтобы они исчезли, поскольку это было бы ...... менее эффективным программированием.Я знаю, что функция whileF () работает правильно, потому что она по-прежнему отображает всю информацию, и если я уберу операторы foreach / array_map, она будет работать без ошибок.
Мысли?Я знаю, что что-то упустил ......
Заранее спасибо.