2014-05-11 7 views
1

Я ищу, чтобы написать простое приложение, позволяющее пользователям сортировать свои ужины.Создание многомерных массивов

Существуют различные категории, и я хочу использовать многомерный массив или arraylist для сортировки.

Например, гости могут быть сгруппированы в 3-х уровнях:

Affiliation: Невеста/Жених сторона
Группы: Семья/Друзья/Коллеги
Круги: Рабочее место 1/Колледж Друзья/Соседи и т.д.

Таким образом, я смог создать массив как таковой:

Гость s [] [Группы] [Circles] [ GuestID].

Так что, если я счетчик на количество гостей для гостей [Groom] [Друзья] [College], он будет отображать общее X количество гостей.

Могу ли я сделать именно это?

Или есть какая-либо связанная с этим ссылка, которую я могу прочитать/обратиться? Я просто не могу найти правильный вариант, или я могу искать в неправильном направлении. Пожалуйста помоги.

+0

Я считал бы реорганизовать свой массив: '$ гостей = массив (3 => Array ('имя' => 'Миссис Хендерсон',«принадлежность '=>' groom ',' group '=>' family ',' circle '=>' mother ')) 'где главный индексный ключ (' 3' в этом случае) является гостевым идентификатором. Это должно сделать довольно простым использование 'array_filter()', чтобы сделать выбор –

+0

Я не совсем понимаю. Означает ли это, что у меня есть 3-мерный массив, вложенный в список массивов? – Madwolf

+0

Нет, это двумерный массив, который я предлагаю (например, в электронной таблице Excel): __you__ предлагали многомерный массив .... вы обнаружите, что 2d-массивы часто легче работать с 3- или 4-мя -d arrays –

ответ

1

многомерный массив очень легко в PHP:

<?php 
$Guests = array(); 

$Guests['Affiliation_1']['Groups_1']['Circles_1'] = array('GuestID_1', 'GuestID_2', 'GuestID_3'); 
$Guests['Affiliation_2']['Groups_2']['Circles_2'] = array('GuestID_4', 'GuestID_5'); 
$Guests['Affiliation_3']['Groups_3']['Circles_3'] = array('GuestID_6', 'GuestID_7', 'GuestID_8', 'GuestID_9'); 

echo count($Guests['Affiliation_1']['Groups_1']['Circles_1']); //output is 3 
echo count($Guests['Affiliation_2']['Groups_2']['Circles_2']); //output is 2 
echo count($Guests['Affiliation_3']['Groups_3']['Circles_3']); //output is 4 


$Guests['Affiliation_3']['Groups_1']['Circles_2'] = array('GuestID_10', 'GuestID_11', 'GuestID_12'); 
echo count($Guests['Affiliation_3']['Groups_1']['Circles_2']); //output is 3 

?> 
+0

Спасибо! Я попробую это через некоторое время! – Madwolf

Смежные вопросы