|
|
|
| Всем привет.
Подскажите пожалуйста, в таком коде..
....WHERE id IN (".implode(",",$_POST['all']).")");
|
Как тут можно применить intval?
делал, так: intval($_POST['all']) - ругается, пробовал в разных вариантах.. никак. | |
|
|
|
|
|
|
|
для: Denandi
(07.06.2010 в 13:30)
| | Интелом пользоваться также, как и АМДешкой )
... WHERE id IN (".implode(",", array_map('intval', $_POST['all'])).")");
|
| |
|
|
|
|
|
|
|
для: sim5
(07.06.2010 в 13:55)
| | Я про такую функцию array_map() не знал.
Теперь узнал )) Спасибо! | |
|
|
|
|
|
|
|
для: Denandi
(07.06.2010 в 13:30)
| | Если вы используете $_POST['all'] в качестве второго аргумента для функции implode(), то $_POST['all'] должен являться массивом.
Тогда получается, что тут intval($_POST['all']) вы пытаетесь привести к целочисленному виду массив. В этом случаи intval() возвратит либо 1(если массив не пустой), либо 0(если массив пустой). Т.е. использование массива в качестве аргумета функции intval() не имеет смысла.
Аргументом для intval() должна быть скалярная величина (строка, число, булево значение).
Можно поступить так:
<?php
$int_array = $_POST["all"];
foreach($int_array as $key => $value)
{
$value = intval($value);
$int_array[$key] = $value;
}
$query = "...... WHERE id IN (".implode(",", $int_array).")";
?>
|
| |
|
|
|
|
|
|
|
для: Ирбис
(07.06.2010 в 14:11)
| | Интересные решения, всем спасибо! | |
|
|
|