我有一个代码,其中数组正确输出结果但我想为输出的每个键值分配变量。 JSON中也没有变量。 all包含没有描述的值。
<?php
$trainNumbers = array(12550,12445);
$json = file_get_contents('advcg.json');
$trainData = json_decode($json, true);
foreach ($trainData[0] as $train) {
$trainNumber = $train[0][0];
if (in_array($trainNumber, $trainNumbers)) {
foreach ($train[0] as $dataField) {
echo "{$dataField}\n";
}
echo "\n";
}
}
?>
结果就像
16032
JAMMU TAWI - CHENNAI CENT Andaman Exp
2013-04-16
TMC
14.606674
79.997721
TALAMANCHI
34
14.564311
79.994888
NLR
NELLORE
24
1
11078
JAMMU TAWI - PUNE Jhelum Express
2013-04-17
BSL
21.0469912
75.7883817
BHUSAVAL JN
158
21.0222615
75.6729054
JL
JALGAON JN
147
17
如何将变量(描述)分配给第一,第二,第三,第四......键值 第一个键值是train number,trainname,lat,long ....就像这样。它可以为数组对象中的每一组迭代
描述之类的所需输出应该在值
旁边train_no-16032
train_name- JAMMU TAWI - CHENNAI CENT Andaman Exp
dep_date - 2013-04-16
dep_station- TMC
dep_log - 14.606674
dep_lat - 79.997721
arr_station- TALAMANCHI
delay_time- 34
new_lat- 14.564311
new_long- 79.994888
new_station- NLR
new_station_name- NELLORE
time_delay- 24
station_left- 1
对此有任何想法都会有所帮助。
由于
答案 0 :(得分:0)
如果字段总是以相同的顺序排列,那么这样的话就可以了:
首先,创建一个包含字段列表的数组:
$fields = array('train_no', 'train_name', 'dep_date' ... );
然后在处理每个项目时,引用该数组中的相关字段:
foreach ($train[0] as $i => $dataField) {
echo $fields[$i]." - {$dataField}\n";
}
答案 1 :(得分:0)
我的想法是制作标签数组
$lab=('train_no','train_name');//etc ...
然后在foreach()循环中的一个计数器来分配它们