【问题标题】:Display array with array_search使用 array_search 显示数组
【发布时间】:2016-09-01 10:31:39
【问题描述】:

我有一个 csv 元素数组,我想检索“到期日期”列的键(结果为 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]);
}

【问题讨论】:

  • 我建议你先看一下 $line 数组,看看数据是如何来的,并且确实存在 $line 中的“截止日期”。然后尝试 array_search
  • 存在我测试一下

标签: php arrays file csv


【解决方案1】:

这样就可以轻松得到第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
}
?>

【讨论】:

  • 如果列值与“到期日”不同,我想按值搜索列并调整代码
  • 您要查找截止日期的列或查找截止日期的值吗?请澄清你的答案。
  • 查找值为“截止日期”的列
  • 检查我的编辑版本。在条件中添加您的列。
【解决方案2】:

打开罚款并在数组中获取 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]);

【讨论】:

  • 我有一个警告警告:array_search() 期望参数 2 是数组并且没有响应
  • 那么我确定,您的 csv 文件有问题。因为我已经测试了我的代码并且它可以工作。你能分享你的 csv 文件吗?
  • 泳道、栏目、ID、标题、卡片类型、卡片颜色、优先级、分配给、描述、外部链接、截止日期、标签、下一个日期、营销主管、技术主管、项目主管、业务状态,合作伙伴管理状态,API 博览会状态,OPE 产品状态,OPE 基础设施状态,服务管理状态,进度 [%],创建于,存档于外部,机会,685,API Orange Wholesale FR,API 铅,橙色,0, "","","","","","",B.米诺特,P。 Metton,未分配,"","","","","","","","2014 年 12 月 3 日 18:28",""
  • 您的 csv 文件是正确的,我也正在获取数据。所以你的文件路径有问题。我更新了代码并确保您的 csv 文件和 php 文件位于同一目录中或路径正确。所以要检查路径是否正确,你可以使用 print_r($line);
  • 我的 print_r($line[$key]) 结果:到期日期ExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterneExterne。所以列泳道而不是截止日期
猜你喜欢
  • 2011-12-03
  • 1970-01-01
  • 2013-01-09
  • 1970-01-01
  • 2016-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多