PHP CSV VLookup
PHP CSV VLookup
我正在寻找一个 PHP 函数,它可以读取 CSV 文件并对第 1 列执行 vlookup 以在第 2 列的同一行上回显相关值。
例如,如果 CSV 包含:
Name,Email
John,john@domain1.com
Frank,frank@domain2.com
Julie,julie@domain3.com
我想查找名称并回显电子邮件值。
类似于:
<?php
$name = "Name to be inserted";
$csv = 'filename.csv';
*function to vlookup $name in $csv, get column 2 value and pipe to $email*
echo $email;
?>
谁能推荐一个可以实现上述功能的函数?
谢谢
$csv = array_map('str_getcsv', file('test.csv'));
$findName="Frank";
foreach($csv as $values)
{
if($values[0]==$findName) // index 0 contains the name
echo $values[1]; // index 1 contains the email
}
请注意,此答案中使用的索引特定于您提供的 csv 格式。如果格式更改,您将不得不调整索引。
<?php
//Name,Email
//John,john@domain1.com
//Frank,frank@domain2.com
//Julie,julie@domain3.com
// Function Definition
function getEmailFromCSV($csv_name, $name) {
$file = fopen($csv_name, "r");
while (!feof($file)) {
$arr = fgetcsv($file);
if ($arr[0] == $name) {
echo $arr[1];
}
}
fclose($file);
}
// Function Calling
getEmailFromCSV('abc.csv', 'John');
// Input : John
// Output : john@domain1.com
?>
我正在寻找一个 PHP 函数,它可以读取 CSV 文件并对第 1 列执行 vlookup 以在第 2 列的同一行上回显相关值。
例如,如果 CSV 包含:
Name,Email
John,john@domain1.com
Frank,frank@domain2.com
Julie,julie@domain3.com
我想查找名称并回显电子邮件值。
类似于:
<?php
$name = "Name to be inserted";
$csv = 'filename.csv';
*function to vlookup $name in $csv, get column 2 value and pipe to $email*
echo $email;
?>
谁能推荐一个可以实现上述功能的函数?
谢谢
$csv = array_map('str_getcsv', file('test.csv'));
$findName="Frank";
foreach($csv as $values)
{
if($values[0]==$findName) // index 0 contains the name
echo $values[1]; // index 1 contains the email
}
请注意,此答案中使用的索引特定于您提供的 csv 格式。如果格式更改,您将不得不调整索引。
<?php
//Name,Email
//John,john@domain1.com
//Frank,frank@domain2.com
//Julie,julie@domain3.com
// Function Definition
function getEmailFromCSV($csv_name, $name) {
$file = fopen($csv_name, "r");
while (!feof($file)) {
$arr = fgetcsv($file);
if ($arr[0] == $name) {
echo $arr[1];
}
}
fclose($file);
}
// Function Calling
getEmailFromCSV('abc.csv', 'John');
// Input : John
// Output : john@domain1.com
?>