Подсчет дубликатов в массиве и работа с другими данными в нем

0

Итак, у меня есть массив в представлении codeigniter, который содержит данные из Modeler <-> Model.

Массив, как это


array(30) (
    [0] => array(37) (
        [idbook] => numstring '463'  (length=3)
        [idcoupon] => numstring '0'  (length=1)
        [idroom] => numstring '39'  (length=2)
        [idcategory] => numstring '2'  (length=1)
        [idguests] => numstring '68'  (length=2)
        [nguests] => numstring '4'  (length=1)
        [value_paid] => numstring '0'  (length=1)
        [value_pending] => numstring '275'  (length=3)
        [value_full] => numstring '275'  (length=3)
        [valid_from] => string '2015-06-15' (length=10)
        [valid_to] => string '2015-06-20' (length=10)
        [today] => string '2014-11-17' (length=10)
        [extra_ids] => string '' (length=0)
        [nchilds] => numstring '4'  (length=1)
        [preferences] => string '' (length=0)
        [status] => numstring '2'  (length=1)
        [lchilds] => numstring '4'  (length=1)
        [pay_method] => numstring '1'  (length=1)
        [cardnumber] => string '' (length=0)
        [cardname] => string 'Visa' (length=4)
        [exp_month] => numstring '1'  (length=1)
        [exp_year] => numstring '2010'  (length=4)
        [arrival_time] => numstring '0'  (length=1)
        [name] => string 'Aland Islands' (length=13)
        [cost] => numstring '50'  (length=2)
        [facilities] => string '***********' (length=298)
        [description] => string '***********' (length=656)
        [url] => string 'appartment.JPG' (length=14)
        [idcountry] => numstring '2'  (length=1)
        [surname] => string 'R***' (length=7)
        [email] => string '*****' (length=20)
        [city] => string 'hffghfh' (length=7)
        [addr] => string 'dfhgfdgh  ' (length=10)
        [phone] => numstring '34****5'  (length=7)
        [alt_phone] => string '' (length=0)
        [title] => string 'Mr' (length=2)
        [birthdate] => null
    )

Это становится больше, так как есть больше оговорок, допустим, 2015 год, как вы заметите в первой строке: Array (30)

Что я хочу сделать, так это: я должен подсчитать количество резервирований из одной страны (например: Германия) И для каждого из этих результатов (пусть говорят, что они 10) суммируют всех гостей (nguests + nchilds + lchilds), также я должен найти, сколько ночей у них есть для каждой брони для каждой страны.

У меня есть "функция", чтобы узнать, сколько дней они провели в отеле. Но я не могу найти способ, чтобы отделить результаты для каждой страны, не получая показаний два или более раз. (т.е. Германия печатает более одного раза, когда я повторяю ее)

Любая помощь, снайперы, подсказки, идеи более чем приветствуются!

Теги:
arrays
codeigniter

1 ответ

1
Лучший ответ

Поэтому я предполагаю, что вы определите Германию (или любую другую страну), используя поле id_country? Независимо от этого, вы можете настроить следующее в соответствии с вашими потребностями...

foreach($the_array as $sub_array){
    //this creates an entry in the result indexed by the country id
    $results[$sub_array['id_country']]['reservations']++;//adds to the count for the 'reservations' key within the array indexed by country id
    //this will add the count of guest to an existing item or create a new one if none exists
    $results[$sub_array['id_country']]['guests']+=($sub_array['nguests']+$sub_array['nchilds']+$sub_array['lchilds'])none exists
}
  • 0
    Да, это сделало часть моей работы! Теперь другая часть его для отображения! О, я так запутался с этими ключами и ценностями! Но да, спасибо большое!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню