Я создаю инструмент, который измеряет веб-сайты для различных вещей.
Я собираю массив информации через каждую проверку.Я изложу приведенную ниже логику без нагрузки кода.
var report = [];
//do a check for an ssl cert, if true...
report.push({
"ssl": "true"
});
//do a check for analytics tag, if true...
report.push({
"analytics": "true"
});
//Then I run the google insights api and add results to the array...
report.push(JSON.parse(data));
Мой результат такой ...
{
"ssl": "true"
},
{
"analytics": "true"
},
{
"captchaResult": "CAPTCHA_NOT_NEEDED",
"kind": "pagespeedonline#result",
"responseCode": 200,
Теперь я пытаюсь прочитать ее
$report = file_get_contents("json.json");
$json = json_decode($report, true);
дает мне ..
[0] => Array (
[ssl] => true
)
[1] => Array (
[analytics] => true
)
[3=> Array ( [captchaResult] => CAPTCHA_NOT_NEEDED
[kind] => pagespeedonline#result
[responseCode] => 200)
К сожалению, я не могу определить, в каком порядке будут сгенерированы массивы 1 и 2 .. поэтому, если я попытаюсь повторить результат, подобный этому
echo $json[1]['ssl']
Iполучит Уведомление: неопределенный индекс: ssl.
В идеале я хотел бы получить массив следующим образом:
[0] => Array (
[ssl] => true
[analytics] => true
[captchaResult] => CAPTCHA_NOT_NEEDED
[kind] => pagespeedonline#result
[responseCode] => 200
)
Так что я могу просто выводить как это, независимо от порядка:
echo $json['ssl'];
echo $json['analytics'];
echo $json['captureResult']; etc etc
Как мне этого добиться?