【发布时间】:2020-04-17 03:36:26
【问题描述】:
几年前我上了一门 PHP 课程,但大部分知识已经褪色。所以我有一个问题。 在 Joomla 表单(RSJoomla 的 RSForms)中,我使用了这样的重复代码:
$locatie01 = $_POST['form']['locatie_01'];
$locatie02 = $_POST['form']['locatie_02'];
$locatie03 = $_POST['form']['locatie_03'];
$locatie04 = $_POST['form']['locatie_04'];
$locatie05 = $_POST['form']['locatie_05'];
$locatie06 = $_POST['form']['locatie_06'];
这样一直持续到达到 100。(位置(在荷兰语中拼写为“locatie”)被发布到数据库中。 再往下一点,我们正在做类似的事情,但代码更复杂,所以我只列出 3:
$db->setQuery("
INSERT INTO #__instellingen
(type,instelling,locatie,contactpersoon,telefoon,email,ivvu,vgu,token)
VALUES
('".$type."','".$instelling."','".$locatie01."','".$contactpersoon."','".$telefoon."','".$email."','".$ivvu."','".$vgu."','".$token."')
");
$db->query();
if(!empty($locatie02)){
$db->setQuery("
INSERT INTO #__instellingen
(type,instelling,locatie,contactpersoon,telefoon,email,ivvu,vgu,token)
VALUES
('".$type."','".$instelling."','".$locatie02."','".$contactpersoon."','".$telefoon."','".$email."','".$ivvu."','".$vgu."','".$token."')
");
$db->query();
}
if(!empty($locatie03)){
$db->setQuery("
INSERT INTO #__instellingen
(type,instelling,locatie,contactpersoon,telefoon,email,ivvu,vgu,token)
VALUES
('".$type."','".$instelling."','".$locatie03."','".$contactpersoon."','".$telefoon."','".$email."','".$ivvu."','".$vgu."','".$token."')
");
$db->query();
}
这也持续到 100
我们在这里做的是:第一行总是填充(必填字段),然后:如果2不为空,则将数据发送到数据库,3等。
现在我可以看出这不是最短的编码方式,而且我隐约记得我们能够编写更短的代码;是用代码编码吗?如果 .... a++。对不起,我不记得了.... 谁能刷新我的记忆?
谢谢,
汤姆
【问题讨论】:
-
循环和函数...
-
听起来很熟悉,拉斯。能详细解释一下吗?
-
每当你发现自己给事物命名
$foo_1, $foo_2, etc时,这意味着你应该使用数组来代替。
标签: php conditional-statements shorthand