PHP では、特にデータベースやファイルから取得したデータを解析する場合、文字列を配列に変換するのが一般的な操作です。以下では、この一般的なスキルをより深く理解し習得できるように、文字列を配列に変換するいくつかの方法を紹介します。
PHP には explode()
という組み込み関数があり、文字列を配列に分割するために使用できます。この関数は、区切り文字と分割する文字列の 2 つのパラメータを受け取ります。 explode()
関数の構文は次のとおりです。
array explode(string $delimiter , string $string [, int $limit ] )
このうち、$delimiter
パラメータは、データを分割するために使用する文字または文字列です。文字列; $string
は配列に分割する必要がある文字列です。このパラメータは文字列である必要があります。$limit
(オプション) 返される要素数の上限を指定します。 $limit
パラメータを省略した場合、分割された配列要素の数は無制限になります。
次に、次の例を使用して、explode()
関数を使用して文字列を配列に分割する方法を示します。
$str = "apple,banana,orange,grape"; $arr = explode(",", $str); print_r($arr);
出力結果:
Array ( [0] => apple [1] => banana [2] => orange [3] => grape )
preg_split()
関数は explode()
関数に似ており、どちらも文字列を配列に分割できます。 。 preg_split()
この関数は正規表現を区切り文字として受け入れることができます。たとえば、\s
を使用して文字列内の任意の数のスペースまたはタブと一致させることができ、これは処理時に非常に便利ですファイル。実用的です。
array preg_split(string $pattern, string $string [, int $limit [, int $flags]])
このうち、$pattern
はオプションの正規表現、$limit
は配列要素数の上限、$flags##です。 # 関数の動作を制御する追加のビットマスクが含まれていますが、無視できます。
$limit パラメータが設定されていない場合、関数はすべての分割文字列を返します。
preg_split() 関数を使用して文字列を配列に分割する方法を示します。
$str = "apple,banana | orange grape"; $arr = preg_split("/[\s,|]+/", $str); print_r($arr);出力結果:
Array ( [0] => apple [1] => banana [2] => orange [3] => grape )3. str_split 関数を使用する
str_split()この関数は、文字列を文字配列に分割できます。メソッド パラメータ
length は、各要素の文字数を指定します。
length が渡されない場合、または
1 として渡された場合、存在するのは 1 文字だけです。
str_split() 関数の構文は次のとおりです。
array str_split(string $string [, int $length = 1 ])このうち、
$string は分割する文字列、
$length# です。 ## はそれぞれの文字配列要素の長さです。 次に、例を使用して、
関数を使用して文字列を配列に分割する方法を示します。 <pre class="brush:php;toolbar:false">$str = "hello world";
$arr = str_split($str);
print_r($arr);</pre>
出力結果:
Array ( [0] => h [1] => e [2] => l [3] => l [4] => o [5] => [6] => w [7] => o [8] => r [9] => l [10] => d )
4. str_split 関数と mb_substr 関数を使用します。
関数は英語以外の文字は複数バイトを占める可能性があるため、失敗します。この場合、str_split() 関数の代わりに mb_substr()
関数を使用できます。mb_substr() 関数はマルチバイト セーフ関数です。 mb_substr() 関数を使用するには、まず PHP でマルチバイト文字列関数を有効にする必要があります。次に、例を使用して、
関数を使用して文字列を文字配列に分割する方法を示します。 <pre class="brush:php;toolbar:false">// 先开启multi-byte字符串扩展
mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8");
$str = "你好,世界!";
$arr = [];
for ($i = 0; $i < mb_strlen($str); $i++) {
$arr[] = mb_substr($str, $i, 1);
}
print_r($arr);</pre>
出力結果:
Array ( [0] => 你 [1] => 好 [2] => , [3] => 世 [4] => 界 [5] => ! )
結論
関数、preg_split()
関数、str_split()
関数、または mb_substr()
のいずれを使用するかこれらの関数は、文字列からデータを抽出して配列に変換する必要がある場合に役立ちます。
以上がPHPで文字列を配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。