gordon_shamway
@gordon_shamway

В чём ошибка при создании строки из массива?

Есть массив на 20 елементов
$digits = [1111,222,333333,44444,5555,7777,8888,9991,12321,23455,678,9876,555,77778,9187,65432,126789,5456786,543456,85386564];

Мне нужно сделать чтобы массив выглядел так
'1111,222,333333'
'44444,5555,7777'
'8888,9991,12321'
//rest code
'543456,85386564'

Я хотел решить так
$digits = [1111,222,333333,44444,5555,7777,8888,9991,12321,23455,678,9876,555,77778,9187,65432,126789,5456786,543456,85386564];
$count = count($digits)/3;

$start = 0;
$end= 3;
for ($i=0; $i <ceil($count) ; $i++) { 
	$string = null;
	$slice = array_slice($digits, $start,$end);
	foreach ($slice as $k) {
		$string .=$k. ',';
	}
        $string = substr($string, 0, -1);
	echo '<p></p>';
	echo $string;
	$start=$end;
	$end=$end+3;

}

Но получаю со всём не то.
  • Вопрос задан
  • 112 просмотров
Решения вопроса 2
$arr2 = array_chunk($arr1, 3)
И всё
Ответ написан
Комментировать
$digits = [1111, 222, 333333, 44444, 5555, 7777, 8888, 9991, 12321, 23455, 678, 9876, 555, 77778, 9187, 65432, 126789, 5456786, 543456, 85386564];

foreach (array_chunk($digits, 3) as $chunk) {
    $string = implode(',', $chunk);
    echo '<p></p>', $string;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы