2016-01-11 94 views
0
foreach ($_GET['friend_name'] as $id => $key) { 
    if (!empty($_GET['friend_vorname'][$id])) { 
     var_dump($_GET['friend_anrede_'.$id][0]); 
     $msg .= 'Anrede: ' . $_SESSION['friend_anrede'][$id][$id] .'<br>Vorname: ' 
       . $_GET['friend_vorname'][$id] . '<br>Name: ' 
       . $_GET['friend_name'][$id] . '<br>Strasse/Nr.: ' 
       . $_GET['friend_strasse_nr'][$id] . '<br>PLZ/Ort: ' 
       . $_GET['friend_plz_ort'][$id] . '<br><br>'; 
    } 
} 

的的var_dump()返回:獲取字符串出動態數組

串(4) 「弗勞」 串(4) 「杜林」 串(4) 「弗勞」

我現在想像我的變量$msg一樣使用單個叮咬,就像所有其他變量一樣。

我想$_SESSION['friend_anrede'][$id][$id]將使但它只返回:

˚F

我將非常高興,如果有人能救我出這陣迷宮!

+0

我不確定你的問題是否完全清楚,但你要尋找的輸出是什麼? – Maximus2012

+0

如果您將'$ _SESSION ['friend_anrede'] [$ id] [$ id]'更改爲'$ _SESSION ['friend_anrede'] [$ id]'?不過,我也不明白。 –

+0

@ Maximus2012自foreach將循環3次。值應該如下所示:1. Frau,2:Herr,3:Frau ...與var_dump的結果相同,但不是數組。 –

回答

3

所有你需要的是$_SESSION['friend_anrede'][$id]。請記住,PHP允許你把一個字符串作爲字符數組,這樣

$foo = 'Hello'; 
echo $foo[1]; // outputs 'e' 

所以你$_SESSION['friend_anrede'][$id][$id]被傾倒出來的第0個元素的0字符在friend_anrede陣列:

$_SESSION['friend_anrede'][$id][$id] 
^------ 'Frau' ---------------^[0] 
'Frau'[0] -> 'F' 
+0

這真是一個很好的解釋! :) –

+0

謝謝你的回答。我的變量'$ _GET ['friend_anrede']'看起來有點不同,因爲有多個變量,如下所示:$ _GET ['friend_anrede_0'],$ _GET ['friend_anrede_1'],$ _GET ['friend_anrede_2']等。最後的數字是動態添加的。我認爲這一定是我的問題的重點。 –

+0

它是PHP。沒有必要創建這樣的動態「鍵」。你可以使用數組符號命名hack'