Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.01.2019, 13:01
Интересующийся
Отправить личное сообщение для drakonolom Посмотреть профиль Найти все сообщения от drakonolom
 
Регистрация: 03.07.2018
Сообщений: 26

массивы foreach с опеределенным ключем -> значением
Всем привет!

После часового штудирования документации никак не могу понять как использовать foreach для того чтобы он выписал только массивы только с определенным значением.

кароче. У меня есть объект $objects в котором находятся массивы, в каждом массиве есть значение, назовем его value и оно всегда ровняется или 1 или 0

как выписать только те массивы, у которых значение value ровняется 1?

<?php foreach ($objects as $object) {
                ?>
Ответить с цитированием
  #2 (permalink)  
Старый 07.01.2019, 13:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Что значит выписать?
Ответить с цитированием
  #3 (permalink)  
Старый 07.01.2019, 13:16
Интересующийся
Отправить личное сообщение для drakonolom Посмотреть профиль Найти все сообщения от drakonolom
 
Регистрация: 03.07.2018
Сообщений: 26

Сообщение от laimas Посмотреть сообщение
Что значит выписать?
<?php include(locate_template('parts/template.php')); ?>


в этом шаблоне выписывает всё что нужно

то есть этот шаблон принтит информацию о каждом массиве в объекте $object

Последний раз редактировалось drakonolom, 07.01.2019 в 13:26.
Ответить с цитированием
  #4 (permalink)  
Старый 07.01.2019, 13:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от drakonolom
в этом шаблоне выписывает
Сообщение от drakonolom
шаблон принтит
Офигеть от словаря. Есть функция фильтрации массива, есть функции пересечения массивов, есть обычный цикл, которым можно обойти массив и выбрать нужное. Выбирайте нужное и делайте требуемое, а в программировании понятия "выписать" нет вообще.
Ответить с цитированием
  #5 (permalink)  
Старый 07.01.2019, 13:48
Интересующийся
Отправить личное сообщение для drakonolom Посмотреть профиль Найти все сообщения от drakonolom
 
Регистрация: 03.07.2018
Сообщений: 26

Сообщение от laimas Посмотреть сообщение
Офигеть от словаря. Есть функция фильтрации массива, есть функции пересечения массивов, есть обычный цикл, которым можно обойти массив и выбрать нужное. Выбирайте нужное и делайте требуемое, а в программировании понятия "выписать" нет вообще.
Ну простите, объясняю как могу "есть обычный цикл, которым можно обойти массив и выбрать нужное." Вот это судя по тому как вы это описали мне и нужно, это обычный цикл foreach?
Ответить с цитированием
  #6 (permalink)  
Старый 07.01.2019, 14:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от drakonolom
объясняю как могу
Ну так надо учится пояснять задачу. Если речь идет о передаче в шаблон только тех значений массива, которые равны 1, значит надо и ставить так вопрос. В данном случае выгоднее либо фильтр который возвратит массив требуемых значений, либо пересечение массивов, что также вернет требуемое. Хотя попутно возникает вопрос - что является источником данных и почему в них лишнее?

Если что-то другое, значит о другом. А есть "выписывает и принтит" и что к чему ... ну околесица какая-то.
Ответить с цитированием
  #7 (permalink)  
Старый 07.01.2019, 14:47
Интересующийся
Отправить личное сообщение для drakonolom Посмотреть профиль Найти все сообщения от drakonolom
 
Регистрация: 03.07.2018
Сообщений: 26

Сообщение от laimas Посмотреть сообщение
Ну так надо учится пояснять задачу. Если речь идет о передаче в шаблон только тех значений массива, которые равны 1, значит надо и ставить так вопрос. В данном случае выгоднее либо фильтр который возвратит массив требуемых значений, либо пересечение массивов, что также вернет требуемое. Хотя попутно возникает вопрос - что является источником данных и почему в них лишнее?

Если что-то другое, значит о другом. А есть "выписывает и принтит" и что к чему ... ну околесица какая-то.
Спасибо, мне еще учится учится и учится, в том числе правильно объяснять задачи =)
Источник данных - объект в котором есть массивы (посты из водрпресса)
Ответить с цитированием
  #8 (permalink)  
Старый 07.01.2019, 15:20
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Данные в этой CMS хранятся в базе и если необходимо вывести определенные, то только они по условию и выбираются из базы. То есть какой-то еще выборки из уже выбранного из базы не потребуется. Другое дело, что при выборке из базы могут использоваться и объединения запросов, что вы итоге будет отражаться в результате множеством строк относящихся к одной и той же записи.

Что требуется сделать неизвестно, но самое простое, это цикл для вывода.
Ответить с цитированием
  #9 (permalink)  
Старый 08.01.2019, 13:42
Интересующийся
Отправить личное сообщение для drakonolom Посмотреть профиль Найти все сообщения от drakonolom
 
Регистрация: 03.07.2018
Сообщений: 26

<?php foreach ($objects as $object) if ($object->value)  {
                ?>


Кароч, вот решение. Цикл проходит объект $objects где находятся массивы $object и если в массиве есть значение value (которое равняется 1) то его выводит
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск