在脚本的多个位置我有......
if (isset($_GET['event-id']) { ... }
两次调用密钥会减慢速度吗?我应该只定义一个新的var ...
$event_id = $_GET['event-id'];
if ($event_id) { ... }
答案 0 :(得分:1)
如果未设置$_GET['event-id']
,这也会引发$event_id = $_GET['event-id'];
:
$event_id = isset($_GET['event-id']) ? $_GET['event-id'] : false;
我更喜欢
$event_id
特别是当我要多次使用if($event_id){
//do your code
}
时。然后,我可以写:
$event_id
或者可能存在空if($event_id !== false){
//do your code
}
的情况:
{{1}}
答案 1 :(得分:1)
你应该总是采用第二种方法
$event_id = $_GET['event-id'];
if ($event_id) { ... }
它不会减慢事情,但假设未来'event-id'的变化,那么你将不得不在每一个繁重任务的地方改变它。
答案 2 :(得分:0)
最好的方法是将其分配到var并在进行所有进一步处理之前对其进行验证,以确保此var不包含任何禁止的内容。
我不认为它会减慢因为它只是一个数组调用,但它是一个安全漏洞。
编辑:
如果未设置,您可以定义默认值。
答案 3 :(得分:0)
如果确实需要在代码中的多个位置检查$_GET['event-id']
,可以使用Ternary Operator
$event_id = isset($_GET['event-id']) ? $_GET['event-id'] : '' ;
然后您可以像if ($event_id)
或if(empty($event_id))
或if(!empty($event_id))
一样使用它,具体取决于您对病情的需求。