PHP プログラミングでは、数値文字列を配列に変換することが非常に一般的な要件です。たとえば、csv ファイル内の数値の列を読み取る、後続の操作のために配列として保存する、またはファイルから数値の列を読み取るなどです。データベースも、処理のために配列に変換する必要があります。この記事では、デジタル文字列を配列に変換するいくつかの方法を紹介します。
方法 1: str_split 関数を使用する
str_split 関数は、文字列を配列に分割できます。例:
$str = "123456"; $arr = str_split($str); print_r($arr);
出力:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
この種類このメソッドは非常に単純ですが、数値文字列にマイナス記号や小数点が含まれている場合、このメソッドは正しく処理できないことに注意してください。
方法 2: preg_split 関数を使用する
preg_split 関数は、指定された区切り文字に従って文字列を配列に分割できます。例:
$str = "1,2,3,4,5,6"; $arr = preg_split('/,/', $str); print_r($arr);
出力:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
この方法は str_split よりも柔軟であり、実際の状況に応じて異なる区切り文字を指定できます。
方法 3:explode 関数を使用する
explode 関数は、指定された区切り文字に従って文字列を配列に分割することもできます。例:
$str = "1,2,3,4,5,6"; $arr = explode(',', $str); print_r($arr);
出力:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
preg_split 関数と比較すると、explode 関数はより簡潔ですが、パフォーマンスは preg_split よりわずかに劣ります。
方法 4: str_split 関数と array_map 関数を使用する
このメソッドは、str_split 関数と array_map 関数を組み合わせて、デジタル文字列を配列に変換します。例:
$str = "123456"; $arr = array_map('intval', str_split($str)); print_r($arr);
出力:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
このメソッドは、array_map 関数を使用して、str_split 関数の分割機能を維持しながら、文字列配列を整数配列に変換します。
方法 5: 正規表現を使用する
「1,2,3 | 4,5,6 | 7,8,9」などの複雑な数値文字列を解析する必要がある場合は、正規表現を使用します。式は解析に使用できます。例:
$str = "1,2,3 | 4,5,6 | 7,8,9"; $arr = preg_split('/[\s|,]+/', $str, -1, PREG_SPLIT_NO_EMPTY); print_r($arr);
出力:
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 )
このメソッドは、正規表現で [\s|,] を使用して、スペース、縦棒、カンマと一致させます。 PREG_SPLIT_NO_EMPTY フラグを使用して、空の要素が分割されないようにします。
概要
上記の方法ではデジタル文字列を配列に変換できますが、それぞれに独自の長所と短所があります。実情に応じて最適な方法を選択する必要があります。
以上がPHPで数値文字列を配列に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。