PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPでカンマ区切りの文字列を値の配列に分割する方法

PHPでは、カンマ区切りの文字列を簡単に配列へ分割できます。代表的な方法として、正規表現パターンを利用する「preg_split」関数と、区切り文字を直接指定する「explode」関数の2つがあります。ここでは、それぞれの関数を使って文字列を配列に分割する例を紹介します。

サンプルコード

<?php
$my_string = "456,789,23, 4, 019";
$my_str_arr = preg_split ("/,/", $my_string);
print_r("The array is ");
print_r($my_str_arr);
$my_string = "00, 876, 5432, 1234, 0";
$my_str_arr = explode (",", $my_string);
print_r("The array is ");
print_r($my_str_arr);
?>

実行結果

The array is Array
(
    [0] => 456
    [1] => 789
    [2] => 23
    [3] => 4
    [4] => 019
)
The array is Array
(
    [0] => 00
    [1] => 876
    [2] => 5432
    [3] => 1234
    [4] => 0
)

preg_split関数による分割

まず、数値を含む文字列「456,789,23, 4, 019」を定義します。続いて、preg_split関数に正規表現パターン「/,/」を渡すことで、カンマが出現する位置を区切りとして文字列を配列に分割しています。分割された結果の配列は、print_r関数を使って出力されます。

explode関数による分割

もう一つの方法は、explode関数を使うやり方です。第一引数に区切り文字となるカンマ「,」を指定し、第二引数に対象の文字列を渡すことで、カンマごとに文字列が分割され、その結果が配列として返されます。

どちらの関数も同じように配列を返しますが、preg_splitは正規表現を使えるため、「複数の種類の区切り文字に対応したい」「空白を無視して分割したい」といった柔軟な条件を指定できる点が特徴です。一方、単純なカンマ区切りの分割だけであれば、動作が高速なexplode関数を使用するのが一般的です。用途に応じて使い分けるとよいでしょう。

  1. 文字列を空白で分割してカンマ区切りに変換するPythonプログラム

    この記事では、空白(スペース)で区切られた複数の単語を含む文字列を処理し、各単語をリストに分割した後、単語と単語の間にカンマを挿入して1つの文字列として再結合する方法を解説します。問題の概要たとえば、次のような入力が与えられたとします。s = Programming Python Language Easy Funnyこの場合、期待される出力は以下のようになります。Programming, Python, Language, Easy, Funny解決の手順この問題は、Pythonの組み込みメソッド split() と join() を使うことで簡単に解決できます。手順は以下の通りです。wor

  2. Pythonで文字列を降順に連続する数値へ分割できるか判定するプログラム

    問題の概要 数字のみで構成された文字列 s が与えられたとします。この文字列を2つ以上の空でない部分文字列に分割でき、かつ各部分文字列の数値が降順(非増加順)で並んでいて、隣り合う部分文字列の数値の差がすべて 1 であるかどうかを判定するのが目的です。 例えば、文字列が s = 0080079 の場合、[0080, 079] と分割すると、その数値は [80, 79] となります。値は降順に並んでおり、隣接する値の差も1なので、これは有効な分割です。 入力例 s = 080076 の場合、出力は True になります。なぜなら、[08, 007, 6] と分割すると、数値は [8, 7, 6]