PHP で文字列解析を直接機能させるにはどうすればよいですか?次の記事では、PHP 文字列で直接解析関数を記述する方法を説明します。
PHP の文字列 理論的には、関数はは解析できません。解析できるのは変数のみです。最近、文字列解析関数を直接解析できる特別な書き方を発見しました。
書き込み
// 单行 ${!${''} = 代码} // 多行 ${!${''} = 代码 }
個人的には、この書き込み方法は実際には変数を解析することによって実現されると思います。 =
左側は特別な名前を持つ変数です。 =
コード ブロックが割り当てられた変数に準拠している限り、右側は文字列内で解析できます。
例
以下のコードは学習とコミュニケーションのみを目的としたものであり、実際の業務ではこの書き方は推奨されません。
#一、
$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."
var_dump("fruits: ${!${''} = $fruit ?? 'apple'}.");
// string(14) "fruits: apple."
var_dump("fruits: ${!${''} = isset($fruit) ? $fruit : 'apple'}.");
// string(14) "fruits: apple."
$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."
class Fruit { public function __toString() { return 'banana'; } } var_dump("fruits: ${!${''} = new Fruit() }."); // string(15) "fruits: banana."
以上がPHP で文字列関数を直接解析する方法について話しましょう (スキル共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。