массивы — PHP JSON отображать номер, если цифры в цикле foreach

У меня есть вопрос, и мне нужна помощь с моим JSON и PHP. Я использую цикл foreach, чтобы получить номер объекта из моего json. И когда я получаю данные от знака мастерства, они отображаются как 13423452623423. Я хочу отображать их как 14, а не как 13423452623423. Я просто хочу показать, сколько цифр, но как мне это сделать?

<?php
$player_vehicles = file_get_contents("https://api.worldoftanks." . $_GET["server"] . "/wot/tanks/stats/?application_id=demo&account_id=" . $account_id);

$vehicles_player = json_decode($player_vehicles, TRUE);
foreach ($vehicles_player['data'][$account_id] as $tank_id) {
echo $tank_id['mark_of_mastery'];
}
?>

1

Решение

Вы можете вывести длину строки, используя StrLen. Если ваши данные поступают как int, вы можете преобразовать их в строку перед использованием strlen. Так что при условии, что echo $tank_id['mark_of_mastery'] отображает 13423452623423тогда вы бы использовали:

<?php
$player_vehicles = file_get_contents("https://api.worldoftanks." . $_GET["server"] . "/wot/tanks/stats/?application_id=demo&account_id=" . $account_id);

$vehicles_player = json_decode($player_vehicles, TRUE);
foreach ($vehicles_player['data'][$account_id] as $tank_id) {
echo strlen($tank_id['mark_of_mastery']);
}
?>
1

Другие решения

Вы можете использовать StrLen функция
см. пример ниже.

$number ='0123465789';// we have 10 digit number
echo strlen($number);// and result is 10 .
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector