-1

观察代码

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”推送到特定的数组中$line[$x]。请帮我...

我编写的代码是跳过空字段而不是打印“未分配的 ID”

4

2 回答 2

1

尝试改变

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

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

as$cat_ids[$x]=""语句会将值 null 分配给$cat_ids[$x]

于 2012-10-17T11:27:02.873 回答
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";

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

于 2012-10-17T11:32:17.967 回答