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
Форумы портала PHP.SU :: Версия для печати :: Помогите проверить данные из масива на наличие опеределеных значений
Форумы портала PHP.SU » » Вопросы новичков » Помогите проверить данные из масива на наличие опеределеных значений

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

1. nikoshot - 19 Июля, 2017 - 23:36:27 - перейти к сообщению
Есть масив $catprod
print_r($catprod); выводит следующее:
PHP:
скопировать код в буфер обмена
  1. [0] => Array ( [name] => Обои [href] => /katalog/oboi/ )
  2. [1] => Array ( [name] => обои для зала [href] => /oboi-dlya-zala/ )
  3. [2] => Array ( [name] => обои для спальни [href] => /oboi-dlya-spalni/ )
  4. [6] => Array ( [name] => 4ever [href] => /ps/4ever/ )
  5. [7] => Array ( [name] => P+S [href] => /oboi/ps/ ) )
  6.  

вот сам код..

PHP:
скопировать код в буфер обмена
  1.  foreach ($catprod as $catp) {  
  2.  if ($catp['name'] == "Boutique" or $catp['name'] == "4ever" or $catp['name'] == "Masterpiece") {
  3. <a href=" echo $catp['href']; "> echo $catp['name'];</a>
  4.  }                                                                       
  5.  }
  6.  

Я каждый раз проверяю равно ли значение
, если равно 4ever или Masterpiece или Boutique
то выводим данные...
дело в том что этих значений порядка 100 шт..

Нужно как то сделать массив этих значений к примеру так
PHP:
скопировать код в буфер обмена
  1. $arr = array('4ever', 'Masterpiece ', 'Boutique ');

и проверку делать уже из этого масива типа как то так..
PHP:
скопировать код в буфер обмена
  1. if ($catp['name'] == $arr[тут должно попасть значение из масива]) {


Спасибо всем кто откликнулся..
2. Строитель - 20 Июля, 2017 - 08:24:04 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $arr = array('4ever', 'Masterpiece ', 'Boutique');
  2.  
  3. // Условие прописать в теле цикла
  4. if (in_array($catp['name'], $arr)) {
  5.     // Совпадение найдено
  6. }
3. LIME - 22 Июля, 2017 - 00:14:25 - перейти к сообщению
http://php.net/manual/ru/functio...ntersect-key.php
http://php.net/manual/ru/functio...array-column.php
если непонятно предлагаю подумать
Строитель нука нука подумай
тут говорят около 100 вариантов
неплохой такой вариант подумать
нука нука))

Строитель выше ты вариант предложил тоже самое что у тс вид сбоку
4. MouseZver - 22 Июля, 2017 - 08:10:50 - перейти к сообщению
LIME пишет:
Строитель выше ты вариант предложил тоже самое что у тс вид сбоку

У строителя был написан наилучший вариант по проверке переменной по значениям из массива. А вот твои ссылки, особенно поразило что ссылаешь на интерсект кей, немного удивило.

Я бы хотел увидеть твой вариант легкий, изящный, оптимизированный, наподобие Строителя.
(Добавление)
LIME пишет:


велосипед чистой воды.
5. LIME - 22 Июля, 2017 - 14:10:17 - перейти к сообщению
MouseZver пишет:

Я бы хотел увидеть твой вариант легкий, изящный, оптимизированный, наподобие Строителя.
это был сарказм?))
вы хоть предупреждайте шоб я укрылся)))

по сабжу
массивы в пхп это список(***** в гугл узнать как сея структура организуется)
но вместе с тем сейчас это еще и хэш-таблица
потому поиск по значению будет фулсканом
а поиск по ключу это хэш-функция
MouseZver достаточно запутал тебя чтоб ты перестал *****?
Строитель финк эбаут ит
6. Строитель - 22 Июля, 2017 - 14:26:42 - перейти к сообщению
LIME пишет:
Строитель финк эбаут ит
Ок, я подумаю. Но в свою очередь попрошу тебя подумать о выборе слов при наборе постов, т.к. существующую цензуру тут никто не отменял. Спасибо.
7. LIME - 22 Июля, 2017 - 14:49:07 - перейти к сообщению
да забань меня какие проблемы))
(Добавление)
убеждать меня уважать дураков это не работает
пробовал
не получается
8. Строитель - 22 Июля, 2017 - 16:34:49 - перейти к сообщению
LIME пишет:
да забань меня какие проблемы))
Я только в крайних случаях использую "кнопку", всегда надеюсь на взаимопонимание.
LIME пишет:
убеждать меня уважать дураков это не работает
пробовал
не получается
Ты не понял -- я прошу придерживаться цензуры.
9. LIME - 22 Июля, 2017 - 16:39:30 - перейти к сообщению
хочу в баню
Строитель пишет:
Я только в крайних случаях использую "кнопку", всегда надеюсь на взаимопонимание.
зря)) этого не будет
не в смысле меня а вообще и в принципе
жми кнопку не боись
10. MouseZver - 22 Июля, 2017 - 17:04:56 - перейти к сообщению
LIME

за твои 10к постов я смотрю не на программиста, а бездарного форумного война, который не только ТСа путает своим бредом, но и набивает заодно посты.

Неоднократно меня предупреждали на пхп.ру что тут большинство ничего не стоят. Скажи еще спасибо модератору за оперативное исправление твоих заумных словечек. В пхп ты 0
11. LIME - 22 Июля, 2017 - 17:17:30 - перейти к сообщению
MouseZver ну допустим
только вот я аргументировал свой пост
где твои аргументы щегол?
(Добавление)
пожалуй разжую для тупых
берешь большой массив
превращаешь колонку в одномерный хэш-массив
значения переводишь в ключи
пороверяешь на существование ключа
на порядки быстрее думаю будет
зависит от размера массива
12. MouseZver - 22 Июля, 2017 - 17:24:24 - перейти к сообщению
щегол твой дед, а разжевывание твое индуское.
13. LIME - 22 Июля, 2017 - 17:27:30 - перейти к сообщению
и снова без аргументов))
индусский код это когда много повторяющихся ничего не значащих инструкций
думаю ты хотел сказать чтото типа "глупое" не зная что такое индусский код
погугли отчего пошло это
----
какой-то просто яростный дурак))
14. MouseZver - 22 Июля, 2017 - 17:36:43 - перейти к сообщению
надо на тебя забить большой и толстый болт, так как веду диалог с каким то ребенком из майнкрафта. Не вижу достойных фактов, лишь балаболку со своим говнокодингом. Программист знает что за сленг "индуский код". Еще не дорос чтобы понять фразу Подмигивание

 

Powered by ExBB FM 1.0 RC1