ホームページ > バックエンド開発 > PHPチュートリアル > 精神病院に入院した人にしか思いつかない書き方

精神病院に入院した人にしか思いつかない書き方

WBOY
リリース: 2016-06-23 13:33:18
オリジナル
949 人が閲覧しました

以下は、あるフレームワークのソースコードです。画像を読んだとき、私は怒り出しましたが、この種のコードは生きてきた人だけが書くことができるので、すぐに落ち着いて作者を許しました。精神病院に入院していることは考えられるので、彼と議論することはできません。
クラスで読み込まれたメソッドは状況を判断するために分割と置換を使用するのですが、不可解なのは、インスタンス化の際に置換されるパラメータにカンマがないことです。この状況はその中には絶対にありません。たとえば、このときコンテキストに if があれば問題ありませんが、理解できないのは、データが取得できることです。テンプレート、ハロー!この精神疾患がどのように起こるか知っている人はいますか


ディスカッション (解決策) に返信してください

$file を出力して参照してください

$file を出力して参照してください



$file を出力して参照してください



$file を出力して参照してください


出力結果は
core_lang_indexcommon,home_layout

$s = 'abcd';$tmp = explode(',', $s);print_r($tmp);
ログイン後にコピー
ログイン後にコピー
Array(    [0] => abcd)
ログイン後にコピー
ログイン後にコピー

当然カンマはありませんが、配列も生成されます。これはなぜだと思いますか?


人々がいつも皮肉な表情で「薬物中毒」や「精神を病んでいる」などと言うのはやめましょう。これはあなたを衝動的にさせます
なぜ彼がこのように書いたのかを知るためには、手を動かすだけで十分です

home_index_index

を取得できます。

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 回実行されたか複数回実行されたかは関係ありません

重要なのは、実際のパラメータ home_index_index にカンマがないため、このカンマを置き換えることができない場合、read メソッドはこのカンマを置き換えることができません。カンマで区切って配列にすることはできないので、次の foreach を実行することはできなくなり、ロジック全体が完全に破壊されます。これがどのように印刷されたのか本当にわかりません

私 #3 は、このような単純な例を理解できませんでしたか?



重要なのは、実際のパラメータ home_index_index にはカンマがないため、read メソッドはこのカンマを置き換えることができず、置き換えることができない場合は、カンマで配列に分割することはできず、さらに不可能です。次の foreach を実行すると、ロジック全体が完全に壊れています。これがどのように印刷されたのか本当にわかりません

私 #3 は、このような単純な例を理解できませんでしたか?

理解していますが、PHP マニュアルがないので推測する必要があります。実際、多くの業界には隠されたルールがあり、PHP も同様です。
実際、ここでカンマを使用するのはこの文字列を配列に変換することが目的ではなく、配列に変換するには分割する必要があります。ただし、初心者にはそれ以外に分割する方法はありません。空白スペースを使用して分割することを考えますが、文字列にない記号を使用して文字列を分割した場合、エラーは報告されず、配列が返されるという暗黙のルールがあります。これは PHP の暗黙のルールの 1 つであり、暗黙のルールを使用してコードを作成する人は、頭がおかしいふりをして愚かなふりをしていると結論付けることができます
そうですか?マニュアルの名前は次のようになります。

セパレータに含まれる値が文字列内に見つからない場合、explode() は文字列の 1 つの要素を含む配列を返します。

🎜 🎜 ここで他の数値を使用することも、テキストを使用してそれらを区切ることもできます $tmp =explode('我我我',$file) 🎜 それで、あなたがphpになりたいのであれば、私は結論に達しました。ダニエルさん、あなたは精神病院に入院したことがあるようなこの種の文章を知り、使いこなし、書くことに熟練しているはずですが、残念なことに、ほとんどの PHP チュートリアルではそのような隠されたルールが紹介されていません 🎜 。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート