Я ищу функцию PHP, которая может читать файл CSV и выполнять vlookup в столбце 1, чтобы отобразить соответствующее значение в той же строке в столбце 2.
Например, если CSV содержит:
Name,Email
John,[email protected]
Frank,[email protected]
Julie,[email protected]
Я хотел бы найти имя и повторить значение электронной почты.
Что-то вроде:
<?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,[email protected]
//Frank,[email protected]
//Julie,[email protected]
// 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 : [email protected]
?>