<?php $input = "data1a; data2a; data3a; data4a; data5a; data6a; data7a; ----- data1b; data2b; data3b; data4b; data5b; data6b; data7b; ----- data1b; data2b; data3b; data4b; data5b; data6b; data7b;"; //$data = array_map(function($row) {return array_filter(array_map("trim", explode(';', $row)), function($val){return !empty($val);});}, explode('-----', $input)); function($row) { return $row; }, $data);
Standard input is empty
array ( 0 => array ( 0 => 'data1a', 1 => 'data2a', 2 => 'data3a', 3 => 'data4a', 4 => 'data5a', 5 => 'data6a', 6 => 'data7a', ), 1 => array ( 0 => 'data1b', 1 => 'data2b', 2 => 'data3b', 3 => 'data4b', 4 => 'data5b', 5 => 'data6b', 6 => 'data7b', ), 2 => array ( 0 => 'data1b', 1 => 'data2b', 2 => 'data3b', 3 => 'data4b', 4 => 'data5b', 5 => 'data6b', 6 => 'data7b', ), )