explode関数で複数の値で分割する|PHP
explode関数を使う時、複数のセパレータを設定したいなという時があります。
しかし、explode関数では一つまでしかセパレータの指定はできません。
そんな時はパパっと作ってしまいましょう。
まず、次の関数をコピー&ペースト。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php function explode_array($separator,$string){ if(empty($separator) || empty($string)){ return false; } $separators = is_array($separator) ? $separator : array($separator); $ans = array(); $string2 = str_replace($separators, "%sep%", $string); $ans = explode("%sep%",$string2); return $ans; } |
あとは通常のexplodeのように値を渡すだけで使用可能です
1 2 3 4 5 |
<?php $test_string = 'test_aaaa,test_bbb|test_ccc'; $separators = array(',','|'); $array_string = explode_array($separators,$test_string); |
簡単ですね。
注意点としては通常のexplodeでは第三引数で$limitがありますがこの関数では使用できませんのでそこだけ注意しましょう。
では良きプログラミングライフを
PHP