Php 如果当前值为空,则使用上一个数组值-从CSV读取
我有一个CSV文件,其内容类似于以下内容:Php 如果当前值为空,则使用上一个数组值-从CSV读取,php,arrays,csv,replace,Php,Arrays,Csv,Replace,我有一个CSV文件,其内容类似于以下内容: "Red",Red Coat "",Red Dog "",Red Car "Blue",Blue Stuff "Green",Green Stuff "",Green Grass 我可以通过PHP阅读并输出 if (($handle = fopen("file.csv", "r")) !== FALSE) { $row=0; $csv_row = array(); while (($data = fgetcsv($handle, 1000, ",")
"Red",Red Coat
"",Red Dog
"",Red Car
"Blue",Blue Stuff
"Green",Green Stuff
"",Green Grass
我可以通过PHP阅读并输出
if (($handle = fopen("file.csv", "r")) !== FALSE) {
$row=0;
$csv_row = array();
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$csv_row = $data;
$previous=$csv_row[0]
$colour=$csv_row[0]
if $colouris null then $colour=$previous;
echo $colour." ".$csv_row[1]."<BR>";
}
fclose($handle);
}
因此,我的CSV将向我展示:
Red Red Coat
Red Red Dog ( previously Colour was empty)
Red Red Car ( previously Colour was empty)
Blue Blue Stuff
Green Green Stuff
Green Green Grass ( previously Colour was empty)
感谢您的帮助 改变这一点:
if $colour is null then $colour=$previous;
$previous=$csv_row[0];
$colour=$csv_row[0];
为此:
if (!$colour)
{
$colour = $previous;
}
$previous=$csv_row[0];
$colour=$csv_row[1];
因此,如果$color为null或为空,$color将从$previous获取值
此外,我认为您可能需要改变这一点:
if $colour is null then $colour=$previous;
$previous=$csv_row[0];
$colour=$csv_row[0];
为此:
if (!$colour)
{
$colour = $previous;
}
$previous=$csv_row[0];
$colour=$csv_row[1];
您只需要在代码中更改少量内容。$previous变量不是必需的 这项工程—
if (($handle = fopen("a.php", "r")) !== FALSE) {
$row=0;
$csv_row = array();
$color = "";
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$csv_row = $data;
//Don't update $color if no color available.
if($csv_row[0] != null){
$color = $csv_row[0];
}
echo $color." ".$csv_row[1]."<BR>";
}
fclose($handle);
}
/*
OUTPUT:
Red Red Coat
Red Red Dog
Red Red Car
Blue Blue Stuff
Green Green Stuff
Green Green Grass
*/
if($handle=fopen(“a.php”、“r”)!==FALSE){
$row=0;
$csv_行=数组();
$color=“”;
while(($data=fgetcsv($handle,1000,“,”)!==FALSE){
$csv_行=$data;
//如果没有可用颜色,则不更新$color。
如果($csv_行[0]!=null){
$color=$csv_行[0];
}
echo$color.“$csv_行[1]”。
“;
}
fclose($handle);
}
/*
输出:
红衣
红狗
红色汽车
蓝色的东西
绿色的东西
青草
*/
我不确定,但我不认为它是空的,我认为它的值是空的,如果$color==”请尝试。谢谢你们,我最后使用了这个,因为它是我的直接复制粘贴。非常感谢。