Kennt jemand einen effizienteren Weg, dies zu tun?
Angenommen, ich habe eine Variable $test
und diese ist definiert als: $test = 'cheese'
Ich möchte cheesey
ausgeben, was ich so machen kann:
echo $test . 'y'
Aber ich würde es vorziehen, den Code auf etwas mehr zu vereinfachen (was nicht funktionieren würde):
echo "$testy"
Dieses Beispiel ist trivial, aber manchmal möchte ich eine Zeichenfolge direkt nach einer in Anführungszeichen eingeschlossenen Variablen hinzufügen (z. B. beim Erstellen einer MySQL-Abfrage) und fragte mich, ob die Variable y
so behandelt werden konnte, als wäre sie separat von der Variablen, ohne sie zu trennen.
Das folgende Beispiel funktioniert, was sich besser in der Echo-Anweisung liest, was ich aber nicht will:
$test = 'cheese';
$y = 'y';
echo "$test$y";
echo "{$test}y";
Sie können Klammern verwenden, um Mehrdeutigkeiten zu beseitigen, wenn Sie Variablen direkt in Strings interpolieren.
Das funktioniert auch nicht mit einfachen Anführungszeichen. So:
echo '{$test}y';
wird ausgegeben
{$test}y
Sie können {}
um Ihre Variable herum verwenden, um sie vom Nachstehenden zu trennen:
echo "{$test}y"
Als Referenz können Sie den Abschnitt Variablenanalyse - Komplexe (geschweifte) Syntax des Handbuchs PHP betrachten.
$bucket = '$node->' . $fieldname . "['und'][0]['value'] = " . '$form_state' . "['values']['" . $fieldname . "']";
print $bucket;
ergibt:
$node->mindd_2_study_status['und'][0]['value'] = $form_state['values']
['mindd_2_study_status']
$ test = "Käse"; "$ {test} y";
Es wird kitschig ausgegeben
Genau das, wonach Sie suchen.