print" text"当csv文件中的字段为空时

时间:2012-10-17 11:25:00

标签: php arrays csv

观察代码

if($line[$x]==1 and !empty($cat_ids[$x]))
    array_push($cat1,$cat_ids[$x]);
    elseif($line[$x]==1 and $cat_ids[$x]="")
    array_push($cat1,"id not allocated");

$line[$x]包含1,$cat_ids[$x]包含ID。

当id为空时,我想将“id not allocated”推送到该特定$line[$x]的数组中。请帮帮我......

我写的代码是跳过空字段而不是打印'id not allocated'

2 个答案:

答案 0 :(得分:1)

尝试更改

elseif($line[$x]==1 and $cat_ids[$x]="")

elseif($line[$x]==1 and $cat_ids[$x]=="")

因为$cat_ids[$x]=""语句会将值null赋给$cat_ids[$x]

答案 1 :(得分:0)

首先存储决策的结果,然后根据该结果分配新值:

$filled = ($line[$x] == 1 and !empty($cat_ids[$x]));
$cat1[] = $filled ? $cat_ids[$x] : "id not allocated";

由于存储到变量,您也可以轻松调试它:

$filled = ($line[$x] == 1 and !empty($cat_ids[$x]));
var_dump($filled);
$cat1[] = $filled ? $cat_ids[$x] : "id not allocated";

因此,您可以更好地检查代码是否真正符合您的预期。