Как правильно посчитать макс. число в массиве?

Доброго времени суток. У меня приходят JSON данные в таком виде:
{"lastUpdateId":4409859389,"bids":[["2.13000000","6472.90000000"],["2.12900000","50106.20000000"],["2.12800000","63127.60000000"],["2.12700000","31495.40000000"],["2.12600000","41493.30000000"]],"asks":[["2.13100000","24755.90000000"],["2.13200000","86227.50000000"],["2.13300000","58302.20000000"],["2.13400000","61187.90000000"],["2.13500000","39494.50000000"]]}

Мне нужно вывести максимальное число во втором значении Массива bids и asks.
То есть нужно получить два числа: максимальное значение в bids это 63127
и максимальное значение в asks - 61187

Как это можно сделать ? Знаю, что есть функция max(), но как её прогнать в цикле? Заранее спасибо.
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Используем array_column и max
<?php
$raw = '{
	"lastUpdateId":4409859389,
	"bids":[
		["2.13000000","6472.90000000"],
		["2.12900000","50106.20000000"],
		["2.12800000","63127.60000000"],
		["2.12700000","31495.40000000"],
		["2.12600000","41493.30000000"]
	],
	"asks":[
		["2.13100000","24755.90000000"],
		["2.13200000","86227.50000000"],
		["2.13300000","58302.20000000"],
		["2.13400000","61187.90000000"],
		["2.13500000","39494.50000000"]
	]
}';
$data = json_decode($raw, true);
$bids = array_column($data["bids"], 1);
$asks = array_column($data["asks"], 1);


echo "Max bid: " . max($bids) ,PHP_EOL;
echo "Max ask: " . max($asks) ,PHP_EOL;


Run PHP online
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы