2012-04-14 198 views
0

我正在构建从数据库中获取的“嵌套”数组;这里是我的脚本:在嵌套数组中获取父键

while ($row_rsMaster = mysql_fetch_assoc($rsMaster)) { 
    $numbers[] = array("Page "); 
} 

我想获得以下阵列(的print_r()函数),但我完全卡在如何让页码:

Array 
(
    [0] => Array 
     (
      [0] => Page 1 
      [1] => 1 
     ) 

    [1] => Array 
     (
      [0] => Page 2 
      [1] => 2 
     ) 

    [2] => Array 
     (
      [0] => Page 3 
      [1] => 3 
     ) 


    [3] => Array 
     (
      [0] => Page 4 
      [1] => 4 
     ) 

) 

我尝试:

$numbers[] = array("Pagina " . key($numbers)+1, key($numbers)+1); 

,但它并不会导致预期的结果(在我看来,它应该得到1“父”阵列和增量的当前关键数)

请帮忙吗? 在此先感谢

+0

为什么你把页码放在同一个数组$ number []? – 2012-04-14 08:07:54

+0

我需要json编码该数组以获得类似tthat:[[“Page 1”,1],[“Page 2”,2],[“Page 3”,3]] – Ivan 2012-04-14 08:12:51

回答

2

由你自己刚刚数:

$n = 0; 
while ($row_rsMaster = mysql_fetch_assoc($rsMaster)) { 
    $n++; 
    $numbers[] = array("Page ".$n, $n); 
} 

或者,在你的代码中使用count($numbers)+1

while ($row_rsMaster = mysql_fetch_assoc($rsMaster)) { 
    $numbers[] = array("Page ".(count($numbers)+1), count($numbers)+1); 
} 
+0

谢谢,我正在考虑使用一个柜台,但我想知道是否有一个无解决方案......是否有可能? – Ivan 2012-04-14 08:11:08

+0

那么,当你计数($数字)时,你仍然使用计数器。它的内部的PHP,但它仍然存在。 – datacompboy 2012-04-14 08:13:00

+0

是的,我们几乎在那里!第二种解决方案没有问题,除了“Pagina”.count($数字)+1被转换为数字......嗯......奇怪的 – Ivan 2012-04-14 08:18:25

0

感谢datacompboy我终于来到了这一点:

while ($row_rsMaster = mysql_fetch_assoc($rsMaster)) { 
    $counter = count($numbers)+1; 
    $numbers[] = array("Page " . $counter, $counter); 
}