1

我正在使用脚本来创建其他表单行。它为某些文本字段循环 $i 编号当我运行此脚本时,偏移量未定义,因为它不存在。我需要使用 if(isset()) 函数,但我不确定如何将它放在代码中。任何人都可以帮忙吗?

for ($i=0; $i<100; $i++) {

    if ($text['length'][$i] == "") $text['length'][$i] = "0";
    if ($text['bredth'][$i] == "") $text['bredth'][$i] = "0";
    if ($text['height'][$i] == "") $text['height'][$i] = "0";
    if ($text['weight'][$i] == "") $text['weight'][$i] = "0.00";

所有以“if”开头的行都显示了通知:

注意:未定义的偏移量:第 41 行 C:\xampp\htdocs\newparcelscript.php 中的 1

已解决事实上我根本不需要和“if”语句,因为行的创建和值的设置是一起运行的。

for ($i=0; $i<100; $i++) {

   $text['length'][$i] = "0";
   $text['breadth'][$i] = "0";
   $text['height'][$i] = "0";
   $text['weight'][$i] = "0.00";
4

3 回答 3

0

根据您在此处尝试执行的操作,我建议您使用以下其中一种 isset/empty 组合

if (isset($text['length'][$i]) == false or empty($text['length'][$i]) == true)

if (isset($text['length'][$i]) == true and empty($text['length'][$i]) == true)

该错误很可能来自对不存在的索引的测试:if($text['length'][$i] == "")

于 2013-03-04T22:01:11.453 回答
0

我认为测试empty()是您在这里寻找的。

for($i = 0; $i < 100; $i++)
{
    if(empty($text['length'][$i]) === TRUE) $text['length'][$i] = 0;
    ...
    ...
}
于 2013-03-04T22:05:45.243 回答
0

对于这种情况,如果您需要为未定义的字段插入值,请使用empty().

empty()如果值为空字符串,则返回 TRUE,而!isset()将返回 FALSE。
关于这个有很多问题,例如看这里

像这样的东西:

for ($i=0; $i<100; $i++) {
    if (empty($text['length'][$i])) $text['length'][$i] = "0";
    if (empty($text['bredth'][$i])) $text['bredth'][$i] = "0";
    if (empty($text['height'][$i])) $text['height'][$i] = "0";
    if (empty($text['weight'][$i])) $text['weight'][$i] = "0.00";
}
于 2013-03-04T22:07:27.180 回答