Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-从CSV创建数组,然后回显值_Php_Csv - Fatal编程技术网

PHP-从CSV创建数组,然后回显值

PHP-从CSV创建数组,然后回显值,php,csv,Php,Csv,我试图将CSV字符串解析为多维数组。我正在使用以下代码来执行此操作 public function exportPartsAuthority($fileArray) { foreach ($fileArray as $filename => $fileContent) { $lines = explode("\n", $fileContent); $formatting = explode(",", $lines[0]);

我试图将CSV字符串解析为多维数组。我正在使用以下代码来执行此操作

public function exportPartsAuthority($fileArray)
{       

    foreach ($fileArray as $filename => $fileContent) {
        $lines = explode("\n", $fileContent);
        $formatting = explode(",", $lines[0]);
        unset($lines[0]);
        $results = array();
        foreach ( $lines as $line ) {
           $parsedLine = str_getcsv( $line, ',' );
           $result = array();
           foreach ( $formatting as $index => $caption ) {
              if(isset($parsedLine[$index])) {
                 $result[$formatting[$index]] = trim($parsedLine[$index]);
              } else {
                 $result[$formatting[$index]] = '';
              }
           }
           $results[] = $result;
        }

        $var_str = var_export($results, true);
        $var = "<?php\n\n\$$values = $var_str;\n\n?>";
        file_put_contents('/home/apndev/public_html/output.txt', $var);

    }       
}
当我尝试回显$results['Vendor SKU']或var_转储它时。。即使我看到上面设置了一个值,结果也是空的。我还注意到顶部有一个语法错误(“$=array”)

也就是说,我最终只是尝试从CSV获取值,因为其中一些值将用于向第三方供应商发送订单信息

有人能给我指出如何修正输出的正确方向,以便我能够正确地回显这些值吗


谢谢

简单,使用预设的CSV读取方法:

$fp = fopen('data.csv', 'r');

$rows = array();
while (($row = fgetcsv($fp)) !== false)
    $rows[] = $row;

fclose($fp);
$rows
将包含
data.csv
的所有数据作为二维数组


有关更多信息,请参阅。

简单,使用预设的CSV读取方法:

$fp = fopen('data.csv', 'r');

$rows = array();
while (($row = fgetcsv($fp)) !== false)
    $rows[] = $row;

fclose($fp);
$rows
将包含
data.csv
的所有数据作为二维数组


有关更多信息,请参阅。

简单,使用预设的CSV读取方法:

$fp = fopen('data.csv', 'r');

$rows = array();
while (($row = fgetcsv($fp)) !== false)
    $rows[] = $row;

fclose($fp);
$rows
将包含
data.csv
的所有数据作为二维数组


有关更多信息,请参阅。

简单,使用预设的CSV读取方法:

$fp = fopen('data.csv', 'r');

$rows = array();
while (($row = fgetcsv($fp)) !== false)
    $rows[] = $row;

fclose($fp);
$rows
将包含
data.csv
的所有数据作为二维数组


有关更多信息,请参阅。

使用内置的php函数解析csv文件,而不是重新发明轮子

str_getcsv

手册页上有一个很好的例子,基本上满足了您的需求:

$header = NULL;
    $data = array();
    if (($handle = fopen($filename, 'r')) !== FALSE)
    {
        while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
        {
            if(!$header)
                $header = $row;
            else
                $data[] = array_combine($header, $row);
        }
        fclose($handle);
    }
    print_r($data);

使用内置的php函数解析csv文件,而不是重新发明轮子

str_getcsv

手册页上有一个很好的例子,基本上满足了您的需求:

$header = NULL;
    $data = array();
    if (($handle = fopen($filename, 'r')) !== FALSE)
    {
        while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
        {
            if(!$header)
                $header = $row;
            else
                $data[] = array_combine($header, $row);
        }
        fclose($handle);
    }
    print_r($data);

使用内置的php函数解析csv文件,而不是重新发明轮子

str_getcsv

手册页上有一个很好的例子,基本上满足了您的需求:

$header = NULL;
    $data = array();
    if (($handle = fopen($filename, 'r')) !== FALSE)
    {
        while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
        {
            if(!$header)
                $header = $row;
            else
                $data[] = array_combine($header, $row);
        }
        fclose($handle);
    }
    print_r($data);

使用内置的php函数解析csv文件,而不是重新发明轮子

str_getcsv

手册页上有一个很好的例子,基本上满足了您的需求:

$header = NULL;
    $data = array();
    if (($handle = fopen($filename, 'r')) !== FALSE)
    {
        while (($row = fgetcsv($handle, 1000, $delimiter)) !== FALSE)
        {
            if(!$header)
                $header = $row;
            else
                $data[] = array_combine($header, $row);
        }
        fclose($handle);
    }
    print_r($data);