1 文字列の分割 - split() 関数と preg_split() 関数
split — 正規表現を使用して文字列を配列に分割します - PHP 5.3 以降ではその使用が非推奨になっているようです
array Split ( string $pattern , string $string [, int $limit ] )
preg_split — 正規表現で文字列を分割します
array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
同じこと: どちらも正規表現を使用して文字列を分割します。たとえば、「2008-12-16 15:48:12」を分割するには、split(['- :'])
while preg_split() のように書くことができます。 preg_split("/[s-:]/") を記述する必要があります
その理由は、split() は POSIX スタイルの正規表現のみをサポートし、preg_split は Perl スタイルの正規表現のみをサポートするためです
POSIX スタイルの要件 Perl スタイルよりも単純ですが、バイナリセーフではありません
ちなみに、上記の2つの関数とは別に、文字列を使って文字列を分割するexplode()もあります。
配列爆発 ( string $delimiter , string $string [, int $limit ] )
ある文字列を使用して別の文字列を分割します
注: インターネット上にはバイナリ セキュリティに関する多くの説明があり、次の説明が上記の文を理解するのに役立つと思います:
バイナリ セーフ関数はバイナリ文字列のみを考慮し、文字列の特定の形式は考慮しません。バイナリ データのみに厳密にアクセスし、特別な形式でデータを解析しません。
2 mysqli::fetch_array と mysqli::fetch_row の違い
mysqli_result::fetch_row()
結果セットから列挙配列として行を取得します
mixed mysqli_result::fetch_array ([ int $resulttype = MYSQLI_BOTH ] )
結果セットから連想配列、数値配列、あるいはその両方として行を取得します
マニュアルによれば、この 2 つのパフォーマンスに大きな違いはないようです
前者は後者の強化版です。
3 シングルクォートとダブルクォーテーションphpの2つの文字列タイプ、シングルクォートとダブルクォーテーション。
一重引用符で囲まれた文字列はプレーン テキスト (実際のテキスト) であり、変数名であろうと他のテキストであろうと、変更されることなくブラウザーに直接送信されます。
二重引用符で囲まれた文字列。PHP は二重引用符で囲まれた文字列を計算しようとし、変数名は変数値に置き換えられます。
ここで、変数、文字列、テキスト、および生データの概念を混同してはなりません:
変数はデータを表すシンボルであり、変数は変数名で表され、シンボルはデータを表します
一方、一重引用符で囲まれた文字列はテキスト、そしてそれ (リテラル値) が元のデータです
重要なのは、テキストと変数の違いを理解することです。テキストはデータであり、変数はデータの記号です。
中国語版『PHP および MySQL Web 開発 (原著第 4 版)』の 12 ページにある文字列の概要をご覧ください。
参考:
『PHP および MySQL Web Development (Original Book 4th Edition)』中国語版、12 ページ、Luke Welling および Laura Thomson 著
PHPのバイナリ文字列の意味 http://www.lofter.com/postentry?from=search&permalink=139418_34c583
Zhihu: バイナリ セキュリティとはどういう意味ですか? http://www.zhihu.com/question/28705562
http://www.bkjia.com/PHPjc/1073811.html