У меня есть вопрос, и мне нужна помощь с моим 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'];
}
?>
Вы можете вывести длину строки, используя 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']);
}
?>
Вы можете использовать StrLen функция
см. пример ниже.
$number ='0123465789';// we have 10 digit number
echo strlen($number);// and result is 10 .