Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как оперировать intvel_ом
 
 автор: Denandi   (07.06.2010 в 13:30)   письмо автору
 
 

Всем привет.
Подскажите пожалуйста, в таком коде..

....WHERE  id IN (".implode(",",$_POST['all']).")");


Как тут можно применить intval?
делал, так: intval($_POST['all']) - ругается, пробовал в разных вариантах.. никак.

  Ответить  
 
 автор: sim5   (07.06.2010 в 13:55)   письмо автору
 
   для: Denandi   (07.06.2010 в 13:30)
 

Интелом пользоваться также, как и АМДешкой )

... WHERE  id IN (".implode(",", array_map('intval', $_POST['all'])).")");

  Ответить  
 
 автор: Ирбис   (07.06.2010 в 14:19)   письмо автору
 
   для: sim5   (07.06.2010 в 13:55)
 

Я про такую функцию array_map() не знал.
Теперь узнал )) Спасибо!

  Ответить  
 
 автор: Ирбис   (07.06.2010 в 14:11)   письмо автору
 
   для: 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).")";
?>

  Ответить  
 
 автор: Denandi   (08.06.2010 в 05:34)   письмо автору
 
   для: Ирбис   (07.06.2010 в 14:11)
 

Интересные решения, всем спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования