2016-06-27 17 views
4

Ich weiß, dass ich einen Array-Wert im doppelten Zitat verwenden kann. Wie folgt aus:PHP - Multidimensionale Arrays können nicht in doppelten Anführungszeichen stehen

<?php echo "my name is: $arr[name]"; ?> 

Aber wenn ich mehrdimensionales Array verwenden, `t ich mein Ergebnis sehen:

<?php echo "he is $twoDimArr[family][1]"; ?> 

Hier ist der Ausgang: Er Array ist [1]

welches` ist der Grund?

Und ich weiß, dass ich mein Code wie folgt verwenden:

<?php echo "he is ".$twoDimArr[family][1]; ?> 

Aber ich dies nicht wollen.

+2

Ist 'Familie' eine Konstante? –

+1

Die Standarddarstellung von Array in einer Zeichenfolge geht nur eine Ebene tiefer. Also, wenn Sie die Elemente selbst als Arrays haben, geht es nicht weiter, sie zu analysieren. –

+3

Lesen Sie die Dokumentation: http://php.net/manual/en/language.types.string.php#language.types.string.parsing – axiac

Antwort

4

Sie sollten kompliziertere Strukturen in geschweiften Klammern umschließen:

echo "he is {$twoDimArr['family'][1]}"; 
3

Sie sollten etwas tun, mit geschweiften Klammern { & }:

echo "he is {$twoDimArr['family'][1]}"; 


Siehe String parsing documentation und echo() function für mehr Einzelheiten (insbesondere Beispiel # 1):

// You can also use arrays 
$baz = array("value" => "foo"); 

echo "this is {$baz['value']} !"; // this is foo ! 

// Using single quotes will print the variable name, not the value 
echo 'foo is $foo'; // foo is $foo 
Verwandte Themen