我需要拆分以下字符串:
333 ,351 ,359 ,360 ,370 ,371 ,385 ,492 ,512 ,514 ,528 ,539 ,546 ,628 ,630 ,634 ,636 ,702 ,706 ,709 ,710 ,715 ,718 ,719 ,763 ,770 ,803 ,822 ,823
进入单独的行,如果有意义的话,在最后一个第10个逗号之后开始换行?
所以它看起来像这样:
333 ,351 ,359 ,360 ,370 ,371 ,385 ,492 ,512 ,514 ,
528 ,539 ,546 ,628 ,630 ,634 ,636 ,702 ,706 ,709 ,
710 ,715 ,718 ,719 ,763 ,770 ,803 ,822 ,823
答案 0 :(得分:1)
假设$ string是你之前的字符串:
<?php
$myArray = explode(",", $string);
$newString = "";
$count = 0;
foreach ($myArray as $value)
{
$newString = $newString.$value.",";
$count++;
if ($count==10)
{
$count=0;
$newString = $newString."\n";
}
}
?>
答案 1 :(得分:1)
这样做......
$str = '333 ,351 ,359 ,360 ,370 ,371 ,385 ,492 ,512 ,514 ,528 ,539 ,546 ,628 ,630 ,634 ,636 ,702 ,706 ,709 ,710 ,715 ,718 ,719 ,763 ,770 ,803 ,822 ,823';
$iCount = 0;
foreach (explode(',',$str) as $iNum)
echo $iNum.' ,'.(++$iCount % 10 == 0 ? '<br>' : '');
答案 2 :(得分:1)
请查看评论以获得解释: -
<?php
error_reporting(E_ALL); // check if any error occur
ini_set('display_errors',1); // display error
$string = '333 ,351 ,359 ,360 ,370 ,371 ,385 ,492 ,512 ,514 ,528 ,539 ,546 ,628 ,630 ,634 ,636 ,702 ,706 ,709 ,710 ,715 ,718 ,719 ,763 ,770 ,803 ,822 ,823'; // original string
echo $string; // echo original string
$array = explode(',',$string); // explode string with comma to make it array
echo "<pre/>";print_r($array); // print array
$chunked_array = array_chunk($array,10); // chunk array to each 10 counts and make a multidimensional array
$new_string = ''; // create a new empty string
foreach ($chunked_array as $chunked_ar){ // iterate through multi-dimensional array
$new_string .= implode(',',$chunked_ar)."\n"; // convert each array to string and add new line and assign it to new string variable
}
echo $new_string; // echo new variable.
?>
输出: - https://eval.in/557389
注意:添加error_reporting代码(<?php
之后的前两行)始终是一个很好的做法,可以找出错误并解决它们。感谢。
答案 3 :(得分:1)
你可以用单行代码来做到这一点。
preg_replace('/((.*?,){10})/', "$1\n", $text);