2017-04-19 124 views
0

我有一個腳本,通過foreach環路輸出結果爲array開始數組索引:與1而不是0

foreach ($export AS $exp) { 
    $_SESSION['export'][] = array($exp->label, $exp->pos_X, $exp->pos_Y); 
} 

它的偉大工程,不過數從0開始和結果看起來很奇怪:

0 Value1 34  52 
1 Value2 -12  66 
2 ValueX 20  47 
3 ValueZ -22  94 

我想它是

1 Value1 34  52 
2 Value2 -12  66 
3 ValueX 20  47 
4 ValueZ -22  94 

我如何固定T帽子?

+5

數組是零索引。如果您希望從1開始,請將+1添加到原始索引 –

+2

_What_ results「looks odd」?你是在談論價值'$ SESSION ['export']'(爲什麼它看起來很重要?)或者它的價值顯示給用戶的地方? – Chris

回答

1

如果您不希望在顯示時更改key的值+1,請保留一個計數器變量$x,該變量從1開始並繼續循環遞增。

<?php 
ini_set('display_errors', 1); 
$x=1; 
foreach ($export AS $exp) 
{ 
    $_SESSION['export'][$x] = array($exp->label, $exp->pos_X, $exp->pos_Y); 
    $x++;//added this line for incrementing value of $x 
} 
+2

@santa接下來的程序員拿起這個代碼會打一個人......你打算爲你的數組的每個人做這個嗎? – nerdlyist

+0

@nerdlyist我可以問你爲什麼?在我的帖子中,我只是給了一個替代方案 –

+1

主要是接受這個的人。這是開銷,不一致並且當有人不知道發生了什麼時容易導致錯誤。你的答案是100%正確的,只是解決不需要的東西 – nerdlyist