2013-03-14 54 views
1

在下面的數組中,您會看到userId = 16。但是,當我運行foreach循環時,它將返回userId = 1。爲什麼它返回1而不是16爲什麼我的用戶名被截斷?

Array 
(
    [userId] => 16 
    [positionTitle] => Array 
     (
      [0] => j1 
      [1] => j2 
     ) 

    [company] => Array 
     (
      [0] => c1 
      [1] => c2 
     ) 

    [jobDescription] => Array 
     (
      [0] => d1 
      [1] => d2 
     ) 

    [startDate] => Array 
     (
      [0] => 03/01/2013 
      [1] => 03/03/2013 
     ) 

    [endDate] => Array 
     (
      [0] => 03/02/2013 
      [1] => 03/04/2013 
     ) 

    [jobCity] => Array 
     (
      [0] => city1 
      [1] => city2 
     ) 

    [jobState] => Array 
     (
      [0] => state1 
      [1] => state2 
     ) 

) 

循環代碼:

foreach($updates as $key => $value){ 
    echo $key . " " . $value[0] . "<br/>"; 
} 

輸出示例:

userId 1 
positionTitle j1 
company c1 
jobDescription d1 
startDate 03/01/2013 
endDate 03/02/2013 
jobCity city1 
jobState state1 
+1

你的代碼一樣。 $ value [0] = 1而不是16 – GGio 2013-03-14 19:02:39

回答

6

你的問題是在這裏:

foreach($updates as $key => $value){ 
    echo $key . " " . $value[0] . "<br/>"; 
} 

特殊照顧輸出的的第一個字符(零元)字符串「16」。

更改您的代碼來這得到想要的效果:不管你告訴它做

foreach($updates as $key => $value){ 
    if(!is_array($value)) 
     echo $key . " " . $value . "<br/>"; 
    else 
     echo $key . " " . $value[0] . "<br/>"; 
} 
+0

哦,當然。我現在明白了。謝謝! – 2013-03-14 19:06:07

相關問題