@polyvoidex

Как разорвать одну строку на несколько строк одинаковой длинны и поместить их в массив?

Делаю игру 2D, типа майнкрафта, с воксельной графикой, где храню карту в определённом формате. В файле (map.txt) хранятся только ID блоков, т. е. нет разделения на строки и столбцы. Там опредёлённое количество байт - одна ячейка.

Мне нужну поместить всю таблицу в массив, чтобы вывести её на экран. Например так:

Есть строка: 023174107052081607340185201210254072012807125012704195472732

На выходе должно быть так: Array ( [0] => Array ( [0] => 0231 [1] => 7410 [2] => 7052 [3] => 0816 [4] => 0734 ) [1] => Array ( [0] => 0185 [1] => 2012 [2] => 1025 [3] => 4072 [4] => 0128 ) [2] => Array ( [0] => 0712 [1] => 5012 [2] => 7041 [3] => 9547 [4] => 2732 ) )

В этом примере одна ячейка вмещает четыре символа и одна строка сосстоит из пяти ячеек. Есть мысли, что можно перебирать строку посимвольно, но я новичёк в PHP. Если не получится так, как я хочу, то прийдётся делать CSV таблицу.

Помогите, пожалуйста.
  • Вопрос задан
  • 59 просмотров
Решения вопроса 1
roswell
@roswell
и швец, и жнец, и на дуде игрец
$s = '023174107052081607340185201210254072012807125012704195472732';
$f = array_map( function( $a ) {
    return str_split( $a, 4 );
}, str_split( $s, 4 * 5 ) );
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы