私は$text_arr="101104105106109111112113114116117120122123124"
かなり大きな文字列を持っています
101,104,105
それらから3つの数値を分割して保存したい場合、$array
どうすればよいですか?
私はこれをやってみました:
preg_match_all('/[0-9]{3}$/',"$text_arr",$array);
私は$text_arr="101104105106109111112113114116117120122123124"
かなり大きな文字列を持っています
101,104,105
それらから3つの数値を分割して保存したい場合、$array
どうすればよいですか?
私はこれをやってみました:
preg_match_all('/[0-9]{3}$/',"$text_arr",$array);
これを行う最も簡単な方法は、preg_split()
Docsを使用することです。
$result = preg_split('/(\d{3})/', $str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
動作するか、結果を確認してください:
Array
(
[0] => 101
[1] => 104
[2] => 105
[3] => 106
[4] => 109
[5] => 111
[6] => 112
[7] => 113
[8] => 114
[9] => 116
[10] => 117
[11] => 120
[12] => 122
[13] => 123
[14] => 124
)
これには正規表現を使用できますが、単純な標準関数を使用する方がパフォーマンスが高い場合があります。
$groups = str_split($numbers, 3);//returns array you want
この最も単純なコードを選択してください
<?php
$string = "101104105106109111112113114116117120122123124";
$parts = str_split($string, 3);
$res=implode(',',$parts);
echo($res);
?>
式から$ で終わる部分を削除する必要があります。これにより、結果が 1 つだけ返されます。
このようにしてみてください
preg_match_all('/[0-9]{3}/', $text_arr, $array);
ここでこれが機能していることを確認してください