10行逗号后的PHP换行符

时间:2016-04-21 10:56:42

标签: php string split comma

我需要拆分以下字符串:

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

4 个答案:

答案 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);