我有多个数组,我想在每个循环的末尾命名每个数组。
代码php代码:
<?php
$csv = array_map("str_getcsv", file("translations/dk.csv"));
foreach ($csv as $line){
if ($line[1] != NULL){
$line[0] = $line[1];
}
print_r($line[0]);
print_r("<br />");
}
fclose($csv);
?>
数组示例。
Array ( [0] => Search and Save [1] => Søg og Spar på Hoteller )
Array ( [0] => Where are you going? [1] => Hvor skal du hen? )
现在,每次foreach循环以不同的值自然运行时,[0]行的输出。但我需要在每个循环上命名每个$ line [0],以便我可以在之后访问它们。我该怎么做?
答案 0 :(得分:0)
也许你正在寻找这样的东西:
<?php
$csv = array_map("str_getcsv", file("translations/dk.csv"));
$results = array();
foreach ($csv as $k => $line){
if ($line[1] != NULL){
$line[0] = $line[1];
$results[$k] = $line[0];
}
print_r($line[0]);
print_r("<br />");
}
print_r($results);
?>
答案 1 :(得分:0)
首先,你不应该使用file()
分割线条; CSV记录可能跨越多行。
$f = fopen("translations/dk.csv", 'rt');
$csv = array();
while (($data = fgetcsv($f)) !== false) {
$csv[] = $data;
}
fclose($f);
其次,要从数组中选择第一列,您可以使用array_column()
:
$results = array_column($csv, 0);
// "Search and Save", "Where are you going?"]