使用多维数组中的键获取值不会返回预期结果

时间:2016-04-13 14:19:51

标签: php arrays

我目前正在尝试遍历一个数组并且只使用键1获取特定值,但由于某种原因,它给了我另一个数组而不是我想要检索的字符串值。

            //using firstElement variable to skip first row of excel sheet
            $firstElement = true;
            foreach ($arrayData as $excelData){

                if($firstElement){
                    $firstElement = false;
                }
                else{
                    $latinName = array_column($excelData, 1);
                    var_dump($latinName);

                    if(strtolower($latinName) == strtolower($target3[0])){
                        echo('target is already in database' . PHP_EOL);
                    }
                    else{
                        echo($latinName . 'should be written to database' . PHP_EOL);
                    }
                }
            }

这是我正在使用的每个循环的当前值。变量arrayData是一个数组,其中包含我从excel表中获得的每个结果。我的目标是从每一行获取特定字段latinName。

变量转储的结果是一个数组列表:

[121]=>
  array(7) {
    [0]=>
    string(14) "Knolboterbloem"
    [1]=>
    string(19) "Ranunculus bulbosus"
    [2]=>
    string(7) "Plantae"
    [3]=>
    string(13) "Magnoliophyta"
    [4]=>
    string(12) "Angiospermae"
    [5]=>
    string(14) "Basal eudicots"
    [6]=>
    string(12) "Ranunculales"
  }

我的目标是从这些数组获取密钥1的每个值,并使用此代码将它们分配给变量latinName(编辑此代码以测试Mark Ba​​kers的答案):

$latinName = array_column($excelData, 1);

但每当我从latinName打印出来的值时,我得到另一个数组而不是String值:

array(17) {
  [0]=>
  NULL
  [1]=>
  string(10) "Poa annua "
  [2]=>
  string(22) "Alopecurus myosuroides"
  [3]=>
  string(22) "Echinochloa crus-galli"
  [4]=>
  string(17) "Apera spica-venti"
  [5]=>
  string(14) "Milium vernale"
  [6]=>
  string(14) "Lolium perenne"
  [7]=>
  string(20) "Agrostis stolonifera"
  [8]=>
  string(15) "Holcus lanatus "
  [9]=>
  string(14) "Avena sterilis"
  [10]=>
  string(19) "Digitaria ischaemum"
  [11]=>
  string(15) "Setaria viridis"
  [12]=>
  string(20) "Setaria verticillata"
  [13]=>
  string(18) "Cyperus esculentus"
  [14]=>
  string(16) "Eragrostis minor"
  [15]=>
  string(13) "Holcus mollis"
  [16]=>
  string(17) "Scirpus maritimus"
}

我经常不使用PHP,但为什么我的变量latinName会变成数组?

对于凌乱的帖子,任何帮助都会非常感激和抱歉。

0 个答案:

没有答案