PHP循环增加了对文本的数值

时间:2017-01-06 18:38:28

标签: php loops

我一直在努力寻找一种更快捷的方法来添加以下代码......

    if (empty($insert1 = insert($language_id, 'step_one', 1))) {
        $insert1 = insert(1, 'step_one', 1);
    }

    if (empty($insert2 = insert($language_id, 'step_one', 2))) {
        $insert2 = insert(1, 'step_one', 2);
    }

    if (empty($insert3 = insert($language_id, 'step_one', 3))) {
        $insert3 = insert(1, 'step_one', 3);
    }

// continues up to $insert35

我可以构建一个显示......

的值数组
$array = array('$insert1', '$insert2', '$insert3'); // up to $insert35

但是当我遍历数组时,它不起作用......

$count = 1;
foreach($array as $value) {

    if (empty($value = insert($language_id, 'step_one', $count))) {
        $value = insert(1, 'step_one', $count);
    }
$count++;
}

在页面正文中,我将这些片段称为......

echo $insert1;

echo $insert2;

echo $insert3;

但错误显示为......

未定义的变量:insert1

未定义的变量:insert2

未定义的变量:insert3

目前我正在手动编写每个步骤,但必须有更好的方法来使用循环。

1 个答案:

答案 0 :(得分:1)

包含数组的示例:

$count = 35;
$insert_results = [];
for ($i = 0; $i < $count ; $i++) {
    $res = insert($language_id, 'step_one', $i + 1);
    if ($res) {
        // if `insert` runs successfully
        $insert_results[$i] = insert(1, 'step_one', $i + 1);
    } else {
        // if `insert` fails, you can even 
        // omit `else`-part if you want
        $insert_results[$i] = false;    // or NULL or -1
    }
}