我有自己的模板类。在这堂课中,我将字符串替换{NEXT_PAGE}
为
<?php echo $tpl->vars["NEXT_PAGE"]; ?>
但有时会发生,该索引不存在。
我发现主题PHP: is_array on $arr['key'] with non existing 'key'并且我知道如何检查是否存在某些索引。
我的问题是,有什么更好的方法来提高性能。
- 始终检查索引是否存在,如果存在,则打印它
- 只需打印它而不检查索引是否存在。
第一个解决方案很棒,没有警告,没有错误,没有通知,但是我通过数组两次,第一次检查它,第二次打印它。需要更多的 CPU 时间。
第二种解决方案只是尝试找到它,如果它存在则打印它,否则打印空字符串,这对我来说没问题,并且我可以通过禁用警告error_reporting
那么什么更好呢?我认为第二种解决方案是禁用警告。PHP总是必须检查索引是否存在,但是当我也检查它时,它会检查两次。我对吗?
需要明确的是,访问不存在的索引最多占所有访问该数组的 3%。
示例
我有一个表单,如果 pass 不正确,我会在其中放回登录名。当我替换为时{LOGIN_NAME}
,<?php echo $tpl->vars["LOGIN_NAME"]; ?>
我像 PHP 脚本一样保存这个新文件,所以稍后我只运行它,不再替换!
所以我编译的脚本是这样的
<form ...>
<input type="login" ... value="<?php echo $tpl->vars["LOGIN_NAME"] ?>" />
(pass etc...)
</form>
因此,当有人第一次访问此页面时,未设置 LOGIN_NAME,PHP 无法打印任何内容,但没关系,字段仍为空。如果表单是发送,脚本添加到 LOGIN_NAME 发送的登录名,然后字段不为空。