Maison  >  Article  >  développement back-end  >  Parlons de la façon d'analyser directement les fonctions de chaîne en PHP (partage de compétences)

Parlons de la façon d'analyser directement les fonctions de chaîne en PHP (partage de compétences)

青灯夜游
青灯夜游avant
2021-10-09 18:52:252114parcourir

Comment utiliser la fonction d'analyse de chaînes directement en PHP ? L'article suivant vous expliquera comment écrire des fonctions d'analyse directe dans les chaînes PHP. J'espère qu'il vous sera utile !

Parlons de la façon d'analyser directement les fonctions de chaîne en PHP (partage de compétences)

Comment analyser directement les fonctions dans les chaînes PHP

Parlons de la façon danalyser directement les fonctions de chaîne en PHP (partage de compétences)

Les chaînes en PHP ne peuvent théoriquement pas analyser les fonctions, seulement les variables. Récemment, j'ai découvert une manière spéciale d'écrire qui permet d'analyser directement les fonctions d'analyse de chaînes.

Écriture

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

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

Personnellement, je pense que cette méthode d'écriture est en fait obtenue en analysant des variables. = 左边是一个特殊名称的变量,= Tant que le bloc de code à droite correspond à la variable d'affectation, il peut être analysé dans la chaîne.

Exemple

Le code suivant est uniquement destiné à l'apprentissage et à la communication. Cette façon d'écrire n'est pas recommandée dans le travail réel.

Un,

$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."

Deux,

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

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

Trois,

$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."

Quatre,

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

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

Apprentissage recommandé : "Tutoriel vidéo PHP "

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer