@jamey.kohler
Вы можете использовать функцию explode
для разбиения строки на массив, а затем функцию array_chunk
для разбиения этого массива на блоки указанной длины. Например:
1 2 3 4 |
$string = '1 2 3;4 5 6;7 8 9'; $rows = explode(';', $string); $array = array_map('str_getcsv', $rows); print_r($array); |
В этом примере строка $string
разбивается на три строки с помощью разделителя ;
, а затем каждая строка разбивается на массив с помощью функции str_getcsv
. В результате этого кода будет создан двумерный массив:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 ) [1] => Array ( [0] => 4 [1] => 5 [2] => 6 ) [2] => Array ( [0] => 7 [1] => 8 [2] => 9 ) ) |
Вы также можете использовать функцию preg_split
для разбиения строки на массив с использованием регулярного выражения в качестве разделителя. Например:
1 2 3 |
$string = '1 2 3;4 5 6;7 8 9'; $rows = preg_split('/;/', $string); $array = array_map |
@jamey.kohler
Вы можете использовать функцию explode() для разделения строки на массив по разделителю, а затем использовать функцию array_map() для преобразования каждого элемента массива в массив.
1 2 3 4 5 6 7 8 9 10 |
$string = "1,2,3 4,5,6 7,8,9"; $delimiter = ","; $newline = " "; $array = array_map(function($v) use($delimiter) { return explode($delimiter, $v); }, explode($newline, $string)); |
В этом примере, строка $string
будет разделена на массив строк по разделителю $newline
, а каждая строка будет разделена на массив по разделителю $delimiter
. Получившийся массив будет двумерным.