Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопрос по ARRAY

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Вопрос по ARRAY
deu
Отправлено: 18 Февраля, 2022 - 14:41:24
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Окт. 2016  


Помог: 0 раз(а)




Есть такая схема:
PHP:
скопировать код в буфер обмена
  1.  
  2. $arrFilter = array("ID" => array(17585, 17583, 17601, 16734, 16737, 54128, 16732, 16733, 54171, 16751, 16754, 16756)); 
  3.  
  4. это отрабатывает корректно, но если мы кидаем туда свои данные
  5. /*
  6. В дата лежит массив
  7. $data[] = 17563;
  8. $data[] = 17565;
  9. $data[] = 17574;
  10. и тд
  11. */
  12.  
  13. $fully = implode(",",$data);
  14. // по итогу тут тоже лежит 17563,17565,17574,54172,9985,9987,9988,9989,15913,17544,17550,17556
  15. $arrFilter = array("ID" => array($fully));


Дальше это все улетает куда-то в запрос к базе.
В первом случае все отрабатывается, а во втором не пашет, хотя тоже самое внутри.
я что-то упустил, в чем прикол ?

(Отредактировано автором: 18 Февраля, 2022 - 14:46:36)

 
 Top
Мелкий Супермодератор
Отправлено: 18 Февраля, 2022 - 14:59:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Ммм, а вы правда не видите разницу между массивом из нескольких чисел и массивом из одной строки?

Если это потом корректно собирается в SQL, то, например, where id in (1,2,3) и where id in ('1,2,3') две принципиальные разницы.


-----
PostgreSQL DBA
 
 Top
deu
Отправлено: 18 Февраля, 2022 - 15:06:56
Post Id



Новичок


Покинул форум
Сообщений всего: 21
Дата рег-ции: Окт. 2016  


Помог: 0 раз(а)




Мелкий пишет:
Ммм, а вы правда не видите разницу между массивом из нескольких чисел и массивом из одной строки?

Если это потом корректно собирается в SQL, то, например, where id in (1,2,3) и where id in ('1,2,3') две принципиальные разницы.


а как через implode сделать тоже самое ?
 
 Top
Мелкий Супермодератор
Отправлено: 18 Февраля, 2022 - 15:44:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Сделать explode обратно.


-----
PostgreSQL DBA
 
 Top
DlTA
Отправлено: 20 Февраля, 2022 - 15:05:10
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. // добавление в $arrFilter['ID'];
  3.  
  4. $arrFilter['ID'] []= 1;
  5. $arrFilter['ID'] []= 2;
  6.  
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB