如何将变量分配给数组键值

时间:2013-04-19 03:12:27

标签: php arrays arraylist

我有一个代码,其中数组正确输出结果但我想为输出的每个键值分配变量。 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

对此有任何想法都会有所帮助。

由于

2 个答案:

答案 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()循环中的一个计数器来分配它们

相关问题