Heim  >  Artikel  >  Backend-Entwicklung  >  Lassen Sie uns darüber sprechen, wie Sie String-Funktionen in PHP direkt analysieren (Fähigkeitsaustausch).

Lassen Sie uns darüber sprechen, wie Sie String-Funktionen in PHP direkt analysieren (Fähigkeitsaustausch).

青灯夜游
青灯夜游nach vorne
2021-10-09 18:52:252126Durchsuche

Wie verwende ich die String-Parsing-Funktion direkt in PHP? Der folgende Artikel zeigt Ihnen, wie Sie direkte Parsing-Funktionen in PHP-Strings schreiben. Ich hoffe, er wird Ihnen hilfreich sein!

Lassen Sie uns darüber sprechen, wie Sie String-Funktionen in PHP direkt analysieren (Fähigkeitsaustausch).

Wie man Funktionen in PHP-Strings direkt analysiert

Lassen Sie uns darüber sprechen, wie Sie String-Funktionen in PHP direkt analysieren (Fähigkeitsaustausch).

Strings in PHP können theoretisch keine Funktionen, sondern nur Variablen analysieren. Kürzlich habe ich eine spezielle Schreibweise entdeckt, mit der String-Parsing-Funktionen direkt analysiert werden können.

Schreiben

// 单行
${!${''} = 代码}

// 多行
${!${''} =
    代码
}

Ich persönlich denke, dass diese Schreibmethode tatsächlich durch das Parsen von Variablen erreicht wird. = 左边是一个特殊名称的变量,= Solange der Codeblock rechts die Zuweisungsvariable erfüllt, kann er in der Zeichenfolge analysiert werden.

Beispiel

Der folgende Code dient nur zum Lernen und zur Kommunikation. Diese Schreibweise wird für die tatsächliche Arbeit nicht empfohlen.

Eins,

$fruits = implode('、', ['apple', 'banana']);
var_dump("fruits: $fruits."); // 正常写法解析变量
// string(23) "fruits: apple、banana."

var_dump("fruits: implode('、', ['apple', 'banana'])."); // 错误写法不能够解析函数
// string(44) "fruits: implode('、', ['apple', 'banana'])."

var_dump("fruits: ${!${''} = implode('、', ['apple', 'banana'])}."); // 特殊写法解析函数成功
// string(23) "fruits: apple、banana."

var_dump("fruits: ${!${''} = implode('、',
    [
        'apple',
        'banana'
    ])}."
); // 多行书写依然解析函数成功
// string(23) "fruits: apple、banana."

Zwei,

var_dump("fruits: ${!${''} = $fruit ?? 'apple'}.");
// string(14) "fruits: apple."

var_dump("fruits: ${!${''} = isset($fruit) ? $fruit : 'apple'}.");
// string(14) "fruits: apple."

Drei,

$fruit = function (){
    return 'banana';
};
var_dump("fruits: ${!${''} = $fruit() }.");
// string(15) "fruits: banana."

var_dump("fruits: ${!${''} = call_user_func(function (){
    $fruits = [
        'apple',
        'banana'
    ];
    
    return implode('、', $fruits);
}) }.");
// string(23) "fruits: apple、banana."

Vier,

class Fruit
{
    public function __toString()
    {
        return 'banana';
    }

}
var_dump("fruits: ${!${''} = new Fruit() }.");
// string(15) "fruits: banana."

Empfohlenes Lernen: „PHP Video-Tutorial"

Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie Sie String-Funktionen in PHP direkt analysieren (Fähigkeitsaustausch).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen