我一直在努力寻找一种更快捷的方法来添加以下代码......
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
等
目前我正在手动编写每个步骤,但必须有更好的方法来使用循环。
答案 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
}
}