访问php数组索引问题

时间:2016-03-11 12:55:45

标签: php arrays

使用fgetcsv()函数后,我得到一个数组,然后我使用foreach(),我得到一个“简单”的关联数组,如:

Array  
(  
  [ix,radical,variant,simplified,pinyin,english,strokes] => 1,一,,,yi1,one,1  
)  

然后我尝试访问任何元素,但我失败了:

 echo $record['ix'];
  

注意:未定义的索引:ix

echo next($record);  // return nothing!

也许是offtopic(不是以php语言为中心)但是我正在使用一些lib(当然不需要来自http://php.net/manual/es/function.fgetcsv.php中的PHP评论者)

<?php

require "..\CsvImporter.lib.php";

$importer = new CsvImporter('my_route\\my.csv',true); 
while($records = $importer->get()) 
{   
    // debug
    print_r($records[0]);
    exit; 

    foreach ($records as $record)   
    {
      \\ ..
    }
}

我的屏幕输出是

Array ( [ix,radical,variant,simplified,pinyin,english,strokes] => 1,一,,,yi1,one,1 )

我的数据:

ix,radical,variant,simplified,pinyin,english,strokes
1,一,,,yi1,one,1
2,丨,,,gun3,line,1
3,丶,,,zhu3,dot,1

那么我怎么可能无法访问任何密钥?

2 个答案:

答案 0 :(得分:1)

当您在上面发布数据时。您的csv导入器为您提供逗号的每一行。所以你需要爆炸然后使用

然后使用

示例代码\

 $i=0;
 while($records = $importer->get()) 
 {   
      if($i>0) //skip first row it is heading
      {
           $data = explode(',',$records);
           print_r($data);
          // now `$data[0]` contains `ix` value for your first csv row and so on
      }
      $i++;
 }

答案 1 :(得分:0)

我使用了一些lib,默认分隔符为&#34; \ t&#34;所以像&#39; ix,激进,变体,简化,拼音,英语,笔画&#39; 这样的关键是&#39;一,,, yi1,one,1& #39; 唯一值

现在,我发现问题我可以轻松完成:

@import basicQG.question

全部谢谢!