Я получаю эти данные при импорте файла CSV.В CSV-файле у меня 1-й столбец - Годы, а все остальные столбцы - Марка.Я использую библиотеку csvreader для анализа данных из файла CSV.
Моя библиотека CSVReader.
class CI_Csvreader {
var $fields; /** columns names retrieved after parsing */
var $separator = ','; /** separator used to explode each line */
/**
* Parse a text containing CSV formatted data.
*
* @access public
* @param string
* @return array
*/
function parse_text($p_Text) {
$lines = explode("\n", $p_Text);
return $this->parse_lines($lines);
}
/**
* Parse a file containing CSV formatted data.
*
* @access public
* @param string
* @return array
*/
function parse_file($p_Filepath) {
$lines = file($p_Filepath);
return $this->parse_lines($lines);
}
/**
* Parse an array of text lines containing CSV formatted data.
*
* @access public
* @param array
* @return array
*/
function parse_lines($p_CSVLines) {
$content = FALSE;
foreach( $p_CSVLines as $line_num => $line ) {
if( $line != '' ) { // skip empty lines
$elements = explode($this->separator, $line);
if( !is_array($content) ) { // the first line contains fields names
$this->fields = $elements;
$content = array();
} else {
$item = array();
foreach( $this->fields as $id => $field ) {
if( isset($elements[$id]) ) {
$item[$field] = $elements[$id];
}
}
$content[] = $item;
}
}
}
return $content;
}
Данные моего файла CSV =>
Years Make Make Make
2001 Acura Honda Toyota
2002 Acura Honda
2003 Acura Toyota
2004
В указанном файле Годыи Сделать данные в листе Excel / CSV можно позже.
Мой вывод - это массив. =>
Array
(
[0] => Array
(
[Years] => 2001
[Make] => Acura
[Make] => Honda
[Make] => Toyota
)
[1] => Array
(
[Years] => 2002
[Make] => Acura
[Make] => Honda
[Make] =>
)
[2] => Array
(
[Years] => 2003
[Make] => Acura
[Make] =>
[Make] => Toyota
)
[3] => Array
(
[Years] => 2004
[Make] =>
[Make] =>
[Make] =>
)
)
Я хочу, чтобы мой массив результатов был таким => Я хочу оставить нользначения.
Array
(
[0] => Array
(
[Years] => 2001
[Make] => Array(
[0]=>Acura
[1]=>Honda
[2]=>Toyota
)
)
[1] => Array
(
[Years] => 2002
[Make] => Array(
[0]=>Acura
[1]=>Honda
[2]=>
)
)
[2] => Array
(
[Years] => 2003
[Make] => Array(
[0]=>Acura
[1]=>
[2]=>Toyota
)
)
[3] => Array
(
[Years] => 2004
[Make] => Array(
[0]=>
[1]=>
[2]=>
)
)
)
Также, пожалуйста, покажите мне, как получить результат без нулевых значений.
Если есть какой-либо другой способ получить данные из файла CSV в моем желаемом формате, который будет в порядке.
Может кто-нибудь, пожалуйста, помогите мне.Большое спасибо.