Мне нужна помощь в переходе через набор объектов, представляющих предложения рейсов от страны a
до b
, и каждый маршрут может содержать несколько предложений. Я хочу получить самое низкое предложение полета для каждого маршрута ... Я просто не знаю, как это сделать внутри цикла. Это Answer on SO Я пробовал работы даст мне самую низкую цену, но как я могу получить весь массив этой цены? Я знаю, это звучит глупо, но я застрял.PHP петля и получить самую низкую цену
$results = array();
$offers = R::getAll("SELECT * FROM fares WHERE available = 1 LIMIT 4");
$offers
вернулся набор данных образца размещены здесь на Fiddle
тогда я сделал следующее:
foreach($offers as $key=>$val){
$results ['city'] = $val["name"];
$results ['country'] = $val["parent_name"];
$off = json_decode($val["Flights"]);
var_dump($off);
// here I need to loop through $off & grab the lowest
}
return $results;
$off
свалка возвращает следующую
object(stdClass)#60 (1) {
["BEY"]=>
array(4) {
[0]=>
object(stdClass)#61 (6) {
["price"]=>
int(490)
["airline"]=>
string(2) "ME"
["flight_number"]=>
int(276)
["departure_at"]=>
string(20) "2015-07-11T12:20:00Z"
["return_at"]=>
string(20) "2015-07-18T08:20:00Z"
["expires_at"]=>
string(20) "2015-06-30T14:31:43Z"
}
[1]=>
object(stdClass)#62 (6) {
["price"]=>
int(639)
["airline"]=>
string(2) "FZ"
["flight_number"]=>
int(716)
["departure_at"]=>
string(20) "2015-07-05T15:50:00Z"
["return_at"]=>
string(20) "2015-07-12T04:30:00Z"
["expires_at"]=>
string(20) "2015-07-01T08:11:49Z"
}
[2]=>
object(stdClass)#63 (6) {
["price"]=>
int(472)
["airline"]=>
string(2) "EY"
["flight_number"]=>
int(299)
["departure_at"]=>
string(20) "2015-07-18T03:10:00Z"
["return_at"]=>
string(20) "2015-07-28T04:30:00Z"
["expires_at"]=>
string(20) "2015-06-30T12:20:30Z"
}
[3]=>
object(stdClass)#64 (6) {
["price"]=>
int(2045)
["airline"]=>
string(2) "SU"
["flight_number"]=>
int(1861)
["departure_at"]=>
string(20) "2015-07-11T14:50:00Z"
["return_at"]=>
string(20) "2015-07-18T05:05:00Z"
["expires_at"]=>
string(20) "2015-06-30T14:31:43Z"
}
}
}
object(stdClass)#65 (1) {
["BEY"]=>
object(stdClass)#66 (3) {
["1"]=>
object(stdClass)#67 (6) {
["price"]=>
int(1903)
["airline"]=>
string(2) "EY"
["flight_number"]=>
int(461)
["departure_at"]=>
string(20) "2015-07-17T22:40:00Z"
["return_at"]=>
string(20) "2015-07-31T04:30:00Z"
["expires_at"]=>
string(20) "2015-07-01T10:46:41Z"
}
["2"]=>
object(stdClass)#68 (6) {
["price"]=>
int(1535)
["airline"]=>
string(2) "QF"
["flight_number"]=>
int(341)
["departure_at"]=>
string(20) "2015-07-17T11:00:00Z"
["return_at"]=>
string(20) "2015-07-31T22:55:00Z"
["expires_at"]=>
string(20) "2015-07-01T10:46:41Z"
}
["3"]=>
object(stdClass)#69 (6) {
["price"]=>
int(2321)
["airline"]=>
string(2) "AY"
["flight_number"]=>
int(5014)
["departure_at"]=>
string(20) "2015-07-17T11:45:00Z"
["return_at"]=>
string(20) "2015-07-31T22:55:00Z"
["expires_at"]=>
string(20) "2015-07-01T10:46:41Z"
}
}
}
ect .....
Любая идея?
Спасибо большое!
В соответствии с результатом '$ off' это не один объект. Он содержит более одного объекта. Итак, какой именно ответ вы хотите? –
@Awena, можете ли вы использовать структуру таблицы, которую вы используете, и, пожалуйста, покажите данные в чистом массиве, а не в объектах. –
Схватить предложение о низком полете для каждого маршрута - это отличная работа для SQL. –