使用array_search显示数组

时间:2016-09-01 10:31:39

标签: php arrays file csv

我有一个csv元素数组,我想检索列'Due Date'的键(结果是10)并在第10列显示数组。但是,它不会显示结果但是它将显示第1列,我不知道为什么。

代码:

while (($line = fgetcsv($file)) !== FALSE) {
//$line is an array of the csv elements
    $value = array_search('Due Date', $line); 
    print_r($line[$value]);
}

2 个答案:

答案 0 :(得分:0)

就这样做,这样您就可以轻松获得第10列:

$var = array();
while($row = fgetcsv($yourFile)) {
   $var[] = $row;
}

//Get Column 10
$var[] = $row[9];

修改

<?php
$valueOfSearch = "YOUR VALUE OF SEARCH";
$linesOfCsv = file('YOUR PATH.csv');
$lineNumberOfCSV = false;

while (list($key, $line) = each($linesOfCsv) and !$lineNumberOfCSV) {
  $lineNumberOfCSV = (strpos($line, $valueOfSearch) !== FALSE);
}

if($lineNumberOfCSV){
  //Add YOUR CONDITION
}
?>

答案 1 :(得分:0)

打开罚款并在数组中获取csv值并关闭文件。之后尝试你的逻辑。

所以为了获得价值,你可以使用:

$file = 'file.csv';
$line = array();
$file = fopen($file,"r");

while(! feof($file))
{
 $line = fgetcsv($file);
}

fclose($file);

$key = array_search('Due Date', $line);

print_r($line[$key]);