ホームページ >バックエンド開発 >PHPチュートリアル >PHP 学習散在ノート - 文字列分割、フェッチ関数、一重引用符と二重引用符
PHP 学習散在メモ - 文字列分割、フェッチ関数、一重引用符と二重引用符。
1 文字列の分割 - split() 関数と preg_split() 関数
分割 - 正規表現を使用して文字を分割します。文字列を配列に - PHP 5.3 以降では、
配列の使用が非推奨になったようです Split ( string $pattern , string $string [, int $limit ] )
preg_split — 文字列
配列 preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )
同じ点: どちらも正規表現を使用して文字列を分割します。たとえば、「2008-12-16 15:48:12」を分割するには、split(['- :']) のように記述できます。 )
そして preg_split() はより複雑なので、preg_split("/[s-:]/")
と記述する必要があります。その理由は次のとおりです。 ) は POSIX スタイルの正規表現のみをサポートし、preg_split は Perl スタイルの正規表現のみをサポートします
POSIX スタイルは Perl スタイルよりも単純ですが、バイナリセーフではありません
ところで、上記の 2 つの関数とは異なり、文字列を分割する関数として、explode() があります。
arrayexplode ( 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 Development (Original Book 4th Edition)』の 12 ページにある文字列の概要を読むことができます。
参考:
『PHP および MySQL Web Development (Original Book 4th Edition)』中国語版 12 ページ、Luke By Welling & Laura Thomson
PHP バイナリ文字列の意味 http://www.lofter.com/postentry?from=search&permalink=139418_34c583
Zhihu: バイナリ セキュリティとはどういう意味ですか? http://www.zhihu.com/question/28705562