07.01.2019, 13:01
|
Интересующийся
|
|
Регистрация: 03.07.2018
Сообщений: 26
|
|
массивы foreach с опеределенным ключем -> значением
Всем привет!
После часового штудирования документации никак не могу понять как использовать foreach для того чтобы он выписал только массивы только с определенным значением.
кароче. У меня есть объект $objects в котором находятся массивы, в каждом массиве есть значение, назовем его value и оно всегда ровняется или 1 или 0
как выписать только те массивы, у которых значение value ровняется 1?
<?php foreach ($objects as $object) {
?>
|
|
07.01.2019, 13:13
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Что значит выписать?
|
|
07.01.2019, 13:16
|
Интересующийся
|
|
Регистрация: 03.07.2018
Сообщений: 26
|
|
Сообщение от laimas
|
Что значит выписать?
|
<?php include(locate_template('parts/template.php')); ?>
в этом шаблоне выписывает всё что нужно
то есть этот шаблон принтит информацию о каждом массиве в объекте $object
Последний раз редактировалось drakonolom, 07.01.2019 в 13:26.
|
|
07.01.2019, 13:39
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от drakonolom
|
в этом шаблоне выписывает
|
Сообщение от drakonolom
|
шаблон принтит
|
Офигеть от словаря. Есть функция фильтрации массива, есть функции пересечения массивов, есть обычный цикл, которым можно обойти массив и выбрать нужное. Выбирайте нужное и делайте требуемое, а в программировании понятия "выписать" нет вообще.
|
|
07.01.2019, 13:48
|
Интересующийся
|
|
Регистрация: 03.07.2018
Сообщений: 26
|
|
Сообщение от laimas
|
Офигеть от словаря. Есть функция фильтрации массива, есть функции пересечения массивов, есть обычный цикл, которым можно обойти массив и выбрать нужное. Выбирайте нужное и делайте требуемое, а в программировании понятия "выписать" нет вообще.
|
Ну простите, объясняю как могу "есть обычный цикл, которым можно обойти массив и выбрать нужное." Вот это судя по тому как вы это описали мне и нужно, это обычный цикл foreach?
|
|
07.01.2019, 14:12
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от drakonolom
|
объясняю как могу
|
Ну так надо учится пояснять задачу. Если речь идет о передаче в шаблон только тех значений массива, которые равны 1, значит надо и ставить так вопрос. В данном случае выгоднее либо фильтр который возвратит массив требуемых значений, либо пересечение массивов, что также вернет требуемое. Хотя попутно возникает вопрос - что является источником данных и почему в них лишнее?
Если что-то другое, значит о другом. А есть "выписывает и принтит" и что к чему ... ну околесица какая-то.
|
|
07.01.2019, 14:47
|
Интересующийся
|
|
Регистрация: 03.07.2018
Сообщений: 26
|
|
Сообщение от laimas
|
Ну так надо учится пояснять задачу. Если речь идет о передаче в шаблон только тех значений массива, которые равны 1, значит надо и ставить так вопрос. В данном случае выгоднее либо фильтр который возвратит массив требуемых значений, либо пересечение массивов, что также вернет требуемое. Хотя попутно возникает вопрос - что является источником данных и почему в них лишнее?
Если что-то другое, значит о другом. А есть "выписывает и принтит" и что к чему ... ну околесица какая-то.
|
Спасибо, мне еще учится учится и учится, в том числе правильно объяснять задачи =)
Источник данных - объект в котором есть массивы (посты из водрпресса)
|
|
07.01.2019, 15:20
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Данные в этой CMS хранятся в базе и если необходимо вывести определенные, то только они по условию и выбираются из базы. То есть какой-то еще выборки из уже выбранного из базы не потребуется. Другое дело, что при выборке из базы могут использоваться и объединения запросов, что вы итоге будет отражаться в результате множеством строк относящихся к одной и той же записи.
Что требуется сделать неизвестно, но самое простое, это цикл для вывода.
|
|
08.01.2019, 13:42
|
Интересующийся
|
|
Регистрация: 03.07.2018
Сообщений: 26
|
|
<?php foreach ($objects as $object) if ($object->value) {
?>
Кароч, вот решение. Цикл проходит объект $objects где находятся массивы $object и если в массиве есть значение value (которое равняется 1) то его выводит
|
|
|
|