@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. Получившийся массив будет двумерным.