it-swarm.com.de

Mischen PHP Variable mit String-Literal

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";
111
Matt McDonald
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
192
alex

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.

45
Pascal MARTIN
$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']
0
earlyburg

$ test = "Käse"; "$ {test} y";

Es wird kitschig ausgegeben

Genau das, wonach Sie suchen.

0
Rizwan