以下は、あるフレームワークのソースコードです。画像を読んだとき、私は怒り出しましたが、この種のコードは生きてきた人だけが書くことができるので、すぐに落ち着いて作者を許しました。精神病院に入院していることは考えられるので、彼と議論することはできません。
クラスで読み込まれたメソッドは状況を判断するために分割と置換を使用するのですが、不可解なのは、インスタンス化の際に置換されるパラメータにカンマがないことです。この状況はその中には絶対にありません。たとえば、このときコンテキストに if があれば問題ありませんが、理解できないのは、データが取得できることです。テンプレート、ハロー!この精神疾患がどのように起こるか知っている人はいますか
$file を出力して参照してください
$file を出力して参照してください
$file を出力して参照してください
出力結果は
core_lang_indexcommon,home_layout
$s = 'abcd';$tmp = explode(',', $s);print_r($tmp);
Array( [0] => abcd)
人々がいつも皮肉な表情で「薬物中毒」や「精神を病んでいる」などと言うのはやめましょう。これはあなたを衝動的にさせます
なぜ彼がこのように書いたのかを知るためには、手を動かすだけで十分です
を取得できます。
core_lang_indexcommon 、home_layout?
重要なのは、実際のパラメータ home_index_index にはカンマがないため、read メソッドはこのカンマを置き換えることができず、置き換えることができない場合は、カンマで配列に分割することはできず、さらに実行することも不可能です。 foreach に従うと、ロジック全体が完全に完成しました。これがどのように出力されるのか本当にわかりません
$s = 'abcd';$tmp = explode(',', $s);print_r($tmp);
Array( [0] => abcd)
なぜ彼がこのように書いたのかを知るためには、手を動かすだけで十分です
そうではありません。このように書くのが正しいようです! abcdにはカンマがないのに、なぜexplodeを使って分割するのでしょうか?
そうです!
あなたの投稿の下の写真の 3 本の線が爆発しているのがわかりませんでしたか?
文字列にはカンマがある場合とない場合があります
ループ内で処理できるように、explode を使用して配列に分割します
としてループ本体の場合 1 回実行されたか複数回実行されたかは関係ありません
私 #3 は、このような単純な例を理解できませんでしたか?
私 #3 は、このような単純な例を理解できませんでしたか?
理解していますが、PHP マニュアルがないので推測する必要があります。実際、多くの業界には隠されたルールがあり、PHP も同様です。
実際、ここでカンマを使用するのはこの文字列を配列に変換することが目的ではなく、配列に変換するには分割する必要があります。ただし、初心者にはそれ以外に分割する方法はありません。空白スペースを使用して分割することを考えますが、文字列にない記号を使用して文字列を分割した場合、エラーは報告されず、配列が返されるという暗黙のルールがあります。これは PHP の暗黙のルールの 1 つであり、暗黙のルールを使用してコードを作成する人は、頭がおかしいふりをして愚かなふりをしていると結論付けることができます
そうですか?マニュアルの名前は次のようになります。
セパレータに含まれる値が文字列内に見つからない場合、explode() は文字列の 1 つの要素を含む配列を返します。