このPHPコードは何を意味しますか?
is_array($data) OR $data = (array) $data
は、私はそれがに等しいPyroCMS
このPHPコードは何を意味しますか?
is_array($data) OR $data = (array) $data
は、私はそれがに等しいPyroCMS
OR
は短絡オペレータです。左側がtrue
の場合、右側は評価されません。基本的には「$data
が配列でない場合は配列にキャストします」と表示されます。これは、同じ効果を有する
$data = (array)$data;
:これはかなり冗長であり、と略記することができること
注意。既に配列の場合、配列へのキャストは何もしません。それ以外の場合は配列へのキャストが行われます。
にこのコードを参照してください。
if (!is_array($data)) $data = (array) $data
それは$データが配列であるかどうかをテストし、そうでない場合は、1つにそれをキャストします。
配列でない場合、そのコードタイプは$ dataを配列にキャストします。型キャストの
詳細 - http://php.net/manual/en/language.types.type-juggling.php
それは執筆の(私の意見ではひどい)ハック方法です。基本的に配列する$データ変数を強制され
if(!is_array($data)) {
$data = (array) $data;
}
。
このようなコードは作成しないでください。処理(精神的)が難しく、時間を節約することはできません。 :-)
これはまた、配列$ dataが存在することを保証します(あなたのバージョンと同じですが、言及する価値があると思います)。 – vascowhite
@vascowhiteはい、それは間違った方法ですが、変数*が存在しない場合はPHPから2つの通知が返されるため、そのことを保証するのは間違いです。 – deceze
「短絡」というキーワードに感謝します。それは非常に役に立ちます。私は実際にそれがPHPで行われることを知りません – Permana