У меня есть многомерный массив с некоторыми значениями.PHP Получить все одинаковые значения из массива
[
1 => [
'label' => 'SEO',
'content' => 'Some content',
'group' => 'We can offer'
]
2 => [
'label' => 'Webdesign',
'content' => 'Some content',
'group' => 'We can offer'
]
3 => [
'label' => 'Contact',
'content' => 'Some content',
'group' => 'Who are we?'
]
4 => [
'label' => 'Logodesign',
'content' => 'Some content',
'group' => 'We can offer'
]
5 => [
'label' => 'Address',
'content' => 'Some content',
'group' => 'Who are we?'
]
]
Элемент group
- это разнообразный пользовательский ввод. Я хочу отсортировать все элементы group
, что то же самое в том же массиве. Затем он будет отображаться. Если имеется только 2 элемента с тем же значением group
, то в элементе .row
в HTML будет только два столбца (ширина 50%), если есть один элемент, только один столбец (100% ширина). Я пытаюсь создать очень простой CMS, если кто-то задается вопросом, почему. Могут быть более простые способы сделать это, но я не могу придумать.
Любая помощь приветствуется.
EDIT:
Я только что получил массив отсортирован я думаю. Это выглядит правильно.
Теперь мне просто нужно отобразить его в правильном направлении.
$i = 0;
$count = count($data['sections']);
$content = [];
for ($i = 0; $i < $count; $i++) {
if (!in_array($data['sections'][$i]['group'], $content)) {
$content[] = $data['sections'][$i]['group'];
}
$content[$data['sections'][$i]['group']][] = ['label' => $data['sections'][$i]['label'], 'content' => $data['sections'][$i]['content']];
}
И если есть более двух элементов? Вы хотите равную ширину для всех элементов, так что если есть n элементов, они получают 1/n: th пробела? – Anders
Да, точно. Пример элемента контента получит класс '.c - # - 12' – Kaizokupuffball
. Тогда вы можете посмотреть этот вопрос: http://stackoverflow.com/questions/6629951/divide-width-of-element-between -child-divs-with-css – Anders