Maison > développement back-end > tutoriel php > 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)

青灯夜游
Libérer: 2023-04-10 17:18:02
avant
2137 Les gens l'ont consulté

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

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

// 多行
${!${''} =
    代码
}
Copier après la connexion

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."
Copier après la connexion

Deux,

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

var_dump("fruits: ${!${''} = isset($fruit) ? $fruit : 'apple'}.");
// string(14) "fruits: apple."
Copier après la connexion

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."
Copier après la connexion

Quatre,

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

}
var_dump("fruits: ${!${''} = new Fruit() }.");
// string(15) "fruits: banana."
Copier après la connexion

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!

Étiquettes associées:
source:juejin.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal