我目前正在尝试遍历一个数组并且只使用键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 Bakers的答案):
$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会变成数组?
对于凌乱的帖子,任何帮助都会非常感激和抱歉。