Javascript 将CSV存储到数组中,在该数组中搜索一个键,然后返回该键中的第四个值

Javascript 将CSV存储到数组中,在该数组中搜索一个键,然后返回该键中的第四个值,javascript,php,jquery,Javascript,Php,Jquery,我完全重写了这个问题: 这是database.csv: barcode,ScQty, Name , Qty ,Code 123456 , 3 ,Rothmans Blue , 40 ,RB44 234567 , 2 ,Rothmans Red , 40 ,RB30 345678 , 2 ,Rothmans Green , 40 ,RB20 456789 , 2 ,Rothmans Purple, 40 ,RB10 567890 , 2 ,Rot

我完全重写了这个问题:

这是database.csv:

barcode,ScQty,      Name     , Qty ,Code
123456 ,  3  ,Rothmans Blue  , 40  ,RB44
234567 ,  2  ,Rothmans Red   , 40  ,RB30
345678 ,  2  ,Rothmans Green , 40  ,RB20
456789 ,  2  ,Rothmans Purple, 40  ,RB10
567890 ,  2  ,Rothmans Orange, 40  ,RB55
我正试图

将CSV文件存储到阵列中 使用已发布的html表单值进行搜索。 如果在一个数组键中找到该值,则返回该键中的第四个值。 代码:

$post = $_POST["barcode"];
$dbcsv = fopen('databases/database.csv', 'r');
$csvArray = array();
while(! feof($dbcsv))
  {
      $csvArray[]  = fgetcsv($dbcsv);
  }
fclose($dbcsv);
$searchf = preg_grep( $post, array_keys($csvArray));
$result = $csvArray[$searchf];
echo "Data Input: ";
echo $post;
echo "<br/>";
echo "<br/>Database: ";
print_r($csvArray);
echo "<br/>";
echo "<br/>Key Used: ";
print_r($searchf);
echo "<br/>";
echo "<br/> Array Search Result: ";
print_r($result);
echo "<br/>";
echo "<br/>4th Array Value: ";
$final = $result[+4];
print_r($final);
echo "<br/>";
echo "<br/>Exploded Array: ";
print_r($exparr);

如您所见,$searchf变量没有正确返回。。我不明白为什么??它不断地重复0。请帮助…

读取CSV文件并将其存储在数组代码中

$file = fopen("databases/database.csv","r");
$csvArray = array();
while(! feof($file))
  {
      $csvArray[]  = fgetcsv($file);
  }

fclose($file);
之后,您可以在$csvArray中进行搜索

搜索功能


你能更具体地回答你的问题吗?你收到错误信息了吗?嘿,蒂姆,我已经完全重写了这个问题。。。谢谢你打破了我的php页面。。。页面正在不断加载。您的database.csv的大小是多少?那个csv中有多少行?我意识到这是我的错,我仍然使用“文件”而不是“fopen”。给我一秒钟,我将重新编写代码的其余部分,看看它是否有效:否$结果=数组_搜索'123456',$csvArray;此数组搜索未从该数组中找到密钥?它返回“null”。$result=array\u search$post,$csvArray;
$file = fopen("databases/database.csv","r");
$csvArray = array();
while(! feof($file))
  {
      $csvArray[]  = fgetcsv($file);
  }

fclose($file);
function searchForId($id, $array)
{
   foreach ($array as $key => $val)
   {
        if (in_array($id, $val))
        {
            return $key;
        }
   }
   return null;
}