通过多暗阵列循环

时间:2014-05-21 17:26:29

标签: php

我有以下数据结构:

results{
        name{
             timestamp( x, y, z)
             timestamp( x, y, z)
             timestamp( x, y, z)
            }
        name{
             timestamp( x, y, z)
             timestamp( x, y, z)
            }
       }

(每个名称的可变数量的名称和可变的时间戳数量)

foreach ($results as $name) {
    foreach ($name as $tstamp) {
        printf("%s,%s,%s,%s,%s\n", $name, $tstamp, $tstamp[0], $tstamp[1], $tstamp[2]);
    }
}

我正在获取名称和tstamp的数组引用;我如何尊重这一点,以便得到预期的价值?

Array,Array,6531,3035,2091
Array,Array,5219,2698,3354

更新: 假设我已经存储了以下数据:     结果{             乙{                 2014-01-01 {1,2,3}                 2014-01-02 {4,5,6}             }             史蒂夫{                 2014-01-01 {1,2,3}                 2014-01-02 {4,5,6}             }      }

如何打印字符串" Bob"或" 2014-01-01"例如。我没有问题获得值1,2,3等....

很抱歉,自从我接触过PHP以来已有5年多了,但我之前已经用更深的阵列完成了这项工作。

1 个答案:

答案 0 :(得分:1)

将“真实”名称排除在循环之外:

foreach ($results as $name => $timestamps) {
    foreach (timestamps as $tstamp) {
        printf("%s,%s,%s,%s,%s\n", $name, $tstamp, $tstamp[0], $tstamp[1], $tstamp[2]);
    }
}