以下JSON字符串显示了所提交的两个问题的正确性,我想知道两个问题的ID,即“ submission”,“ question1”和“ question2”中的关联数组的索引。我应该怎么做?谢谢!
<?php
$test =
'{
"event_source": "server",
"event_type": "problem_check",
"submission": {
"question1":{
"correct":false
}
"question2":{
"correct":true
}
}
}';
$jarray = json_decode($test, true);
答案 0 :(得分:3)
1。您的json数据缺少一些,
和""
(请检查我的输出链接以获取正确格式)
2。如果要显示每个问题提交结果,请使用foreach()
。
$jarray = json_decode($test, true);
foreach($jarray['submission'] as $key=>$value){
echo $key. ' answer is '.$value['correct'].PHP_EOL;
}
输出:-https://3v4l.org/T3sh4或https://3v4l.org/3lUNF
3. 如果您只想要按键 ,请执行以下操作:-
$questionIds = array_keys($jarray['submission']);
参考文献:-
答案 1 :(得分:2)
一种相当简单的方法,但是应该可以解决问题:
$i = 0;
foreach($jarray['submission'] as $key => $val) {
echo $key " is the index ". $i;
$i++;
}
答案 2 :(得分:1)
您可以使用array_keys()
$newArray = array_keys($test);