Итак, у меня есть массив в представлении 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), также я должен найти, сколько ночей у них есть для каждой брони для каждой страны.
У меня есть "функция", чтобы узнать, сколько дней они провели в отеле. Но я не могу найти способ, чтобы отделить результаты для каждой страны, не получая показаний два или более раз. (т.е. Германия печатает более одного раза, когда я повторяю ее)
Любая помощь, снайперы, подсказки, идеи более чем приветствуются!
Поэтому я предполагаю, что вы определите Германию (или любую другую страну), используя поле 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
}