string(11) "3.239.76.25"

2022年04月23日

PHP関数:preg_split()

この関数の説明

PHP関数の preg_split() は、文字列を正規表現のデリミッタで分割し、配列に変換する関数です。

 


関数

preg_split$separator , $data , $limit )

 


パラメータ

$separator(正規表現文字)必須

正規表現で表した区切り文字

 

$data(文字列)必須

変換対象の文字列

 

$limit (整数)(オプション)

作成する配列の数

 5個の配列ができるデータで「3」を指定すると、3番目に3,4,5の残りデータが入る。

 


戻り値

$data の内容を $separator で分割した配列を返します。

分割できない場合は、配列の0番目に総てのデータが入ります。

 


利用例

①「,」で区切られた文字列を配列に変換

<?php 
	$data  = '68,70,72,74,76';
	$separator = '/,/';
	$size_array = preg_split($separator , $data);
	echo $data;
?>
<pre>
   <?php print_r($size_array);?>
</pre>

■下記が表示されます。

68,70,72,74,76

   Array
(
    [0] => 68
    [1] => 70
    [2] => 72
    [3] => 74
    [4] => 76
)

 

②色々な空白で区切られて文字列を配列に変換

<?php 
	$data  = '68 70	72
		74
		76';// 半角スペース、タブ、改行が入っています。
	$separator = '/[\s]+/';
	$size_array = preg_split($separator, $data);
	echo $data;
?>
<pre>
   <?php print_r($size_array);?>
</pre>

上記の処理は、どの様な空白文字が何個入っていても、すべてを取り除いて配列に変換してくれる処理になります。

■結果は下記になります

68 70 72 74 76

   Array
(
    [0] => 68
    [1] => 70
    [2] => 72
    [3] => 74
    [4] => 76
)

 

③姓名を分割し、姓と名で取り出す

姓名の区切りが「スペース」、「タブ」、「全角スペース」のいずれでも、分割して取り出します。

<?php 
	$input_name = '山田 太郎'; //区切りは「スペース」、「タブ」、「全角スペース」のいずれでも可
	list($last_name , $first_name) = preg_split( '/[\s ]+/' , $input_name);
	echo $last_name.'<br>';
	echo $first_name;
?>

■3行目: preg_splitの結果を配列ではなくlist関数で受け取っています。

■結果は下記になります。

山田
太郎

 


関連情報

関連関数は 正規表現で操作する関数 を参照してください。

 

関数一覧
  • 1.PHPとWordPressプログラム
  • 2.PHPの出力コマンド
  • 3.PHPの変数規則と文字連結
  • 4.PHPのif文
  • 5.PHPの配列とループ処理
  • 6.PHPのオブジェクトとループ処理
  • 7.PHPの文字列操作関数
  • 8.PHPファイルや関数の読み込み
  • 9.PHPのフォーム操作
  • array_keys()
  • array_reverse()
  • checkdate()
  • count()
  • date()
  • echo
  • explode()
  • implode()
  • in_array()
  • intval()
  • isset()
  • preg_match_all()
  • preg_match()
  • preg_replace()
  • preg_split()
  • print_r()
  • session_id()
  • session_start()
  • sprintf()
  • str_replace()
  • strpos()
  • trim()
  • var_dump()