我有以下数据结构:
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年多了,但我之前已经用更深的阵列完成了这项工作。
答案 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]);
}
}