Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mari kita bincangkan tentang cara menghuraikan secara langsung fungsi rentetan dalam PHP (perkongsian kemahiran)

Mari kita bincangkan tentang cara menghuraikan secara langsung fungsi rentetan dalam PHP (perkongsian kemahiran)

青灯夜游
青灯夜游ke hadapan
2021-10-09 18:52:252127semak imbas

Bagaimana untuk menghuraikan secara langsung fungsi rentetan dalam PHP? Artikel berikut akan berkongsi dengan anda cara menulis fungsi penghuraian langsung dalam rentetan PHP. Saya harap ia akan membantu anda!

Mari kita bincangkan tentang cara menghuraikan secara langsung fungsi rentetan dalam PHP (perkongsian kemahiran)

Cara menulis fungsi penghuraian langsung dalam rentetan PHP

Mari kita bincangkan tentang cara menghuraikan secara langsung fungsi rentetan dalam PHP (perkongsian kemahiran)

Rentetan dalam PHP Secara teorinya, fungsi tidak boleh dihuraikan, hanya pembolehubah boleh dihuraikan. Baru-baru ini saya menemui cara penulisan khas yang membolehkan fungsi penghuraian rentetan dihuraikan secara langsung.

Menulis

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

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

Secara peribadi, saya rasa kaedah penulisan ini sebenarnya dicapai dengan menghurai pembolehubah. = Bahagian kiri ialah pembolehubah dengan nama khas, dan bahagian kanan = boleh dihuraikan dalam rentetan selagi blok kod mematuhi pembolehubah yang ditetapkan.

Contoh

Kod berikut hanya untuk pembelajaran dan komunikasi Kaedah penulisan ini tidak disyorkan dalam kerja sebenar.

Satu,

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

Dua,

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

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

Tiga,

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

4.

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

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

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menghuraikan secara langsung fungsi rentetan dalam PHP (perkongsian kemahiran). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam