$url = isset($_GET["url"]) ? $this->checkValues($_GET["url"]) : $this->jDie();
$query = $this->query("SELECT * FROM `torrents` WHERE `url` = '".$url."'");
$fetch = $this->fetch($query) or $this->rURL('/#invalid-url'); 版本1:
<label><input type="checkbox" name="age" value="3" '.($this->contains("3", $fetch['age']) ? 'checked="checked"' : '').' class="age"/><span>3+</span></label>
<label><input type="checkbox" name="age" value="7" '.($this->contains("7", $fetch['age']) ? 'checked="checked"' : '').' class="age"/><span>7+</span></label>
<label><input type="checkbox" name="age" value="12" '.($this->contains("12", $fetch['age']) ? 'checked="checked"' : '').' class="age"/><span>12+</span></label>版本2:
$age = $fetch['age'];..。
<label><input type="checkbox" name="age" value="3" '.($this->contains("3", $age) ? 'checked="checked"' : '').' class="age"/><span>3+</span></label>
<label><input type="checkbox" name="age" value="7" '.($this->contains("7", $age) ? 'checked="checked"' : '').' class="age"/><span>7+</span></label>
<label><input type="checkbox" name="age" value="12" '.($this->contains("12", $age) ? 'checked="checked"' : '').' class="age"/><span>12+</span></label>哪条路更好?
发布于 2013-01-31 18:23:49
你说了算。如果$this->fetch(查询)不执行任何清洗或验证,那么深入$_GET[]或$fetch基本上是一回事。虽然深入到$_GET[],然后使用非卫生的输入通常被忽略,因为它可能导致错误和漏洞。
发布于 2013-01-31 18:51:31
在确定要编写哪个版本的代码时,我建议您向自己提出一系列问题。
表示#1,两者本质上是相等的。您在第二个版本中声明了一个新变量,它的性能会受到很小的影响,但不会像执行额外的查询、读取远程文件等那样多。这会使我更倾向于第一个版本,但我并不是要回顾我的所有代码,尝试删除不必要的声明变量的每个实例,以尝试提高性能。
同样,在上面的代码中,#2的和基本上是相等的。另一方面,如果您正在执行许多echo的操作,您可能希望选择声明变量,因为它稍微容易读懂:
echo "You have $num $currency remaining in your $where";而不是这样写的:
echo 'You have ' . $fetch['num'] . ' ' . $fetch['curency'] . ' remaining in your ' . $fetch['where'];但不管怎样,都没什么大不了的。
对于#3,它并不真正适用,因为这是如此的小和微不足道。然而,在使用$fetch时,维护代码的人对变量的来源有更好的了解,而不是一直在定义新变量,所以我还是倾向于第一个变量,但这也没什么大不了的。
https://stackoverflow.com/questions/14632529
复制相似问题