У меня есть коллекция объектов, которые имеют следующий видPHP - Отображение Флажок на основе определенных условий
#attributes: array:8 [▼
"name" => "Something1"
"value" => "Some Data"
]
#attributes: array:8 [▼
"name" => "Something1Test"
"value" => "Some Data"
]
#attributes: array:8 [▼
"name" => "NOC M2"
"value" => "Some Data"
]
#attributes: array:8 [▼
"name" => "Couldbeanything M3"
"value" => "Some Data"
]
#attributes: array:8 [▼
"name" => "Couldbeanything M3Test"
"value" => "Some Data"
]
Если имя атрибута заканчивается тест, предшествующий объект связан с ним. Так, например, Something1Test относится к Something1. Первая часть всегда будет тем же «Something1», клонированная версия просто добавила Test к концу.
Я зацикливаю объекты и показываю их содержимое. То, что я пытаюсь сделать, это показать флажок для всех объектов, у которых нет связанного тестового объекта. На данный момент у меня есть что-то вроде этого
<?php if(strpos($data->name, 'Test') === false) { ?>
<div class="col-md-4">
//Display a checkbox
</div>
<?php } ?>
Теперь это несколько работ в том смысле, что он отображает флажок для всех объектов, которые не имеют атрибут имени, который содержит Test. Таким образом, для приведенных выше данных, он отображает флажок для
Something1
NOC M2
Couldbeanything M3
Проблема, которую я имею что Something1 и Couldbeanything имеют связанный объект испытаний, так что эти два не должны иметь флажок. С приведенными выше данными единственное, что должно иметь флажок, это NOC M2, потому что NOC M2Test отсутствует.
Есть ли способ достичь того, что я хочу? Первая часть названия может быть любой.
Благодаря
Спасибо. Теоретически, $ objects - это Object, а не массив. Поэтому я не могу использовать array_column. Есть ли другой способ приблизиться к этому? –
Я только что добавил для этого редактирование; предполагая, что '$ objects' является итерабельным, вы можете использовать' foreach'. – cmbuckley