我遇到了一些麻烦 in_array()
$list = array(
"files/" => "/system/application/files/_index.php",
"misc/chat/" => "/system/application/misc/chat/_index.php"
);
Run Code Online (Sandbox Code Playgroud)
我有这个$_GET['f']持有字符串files/.
如何在数组中搜索可能的匹配?
如果在数组中找到该字符串,则应包含该文件
谢谢你的帮助 :)
这很简单.您需要做的就是检查数组元素是否已设置.通常使用的语言结构是isset()(是的,很明显)...
if (isset($list[$_GET['f']])) {
}
Run Code Online (Sandbox Code Playgroud)
没有必要为此调用函数,isset更清晰,更容易阅读(恕我直言)...
请注意,这isset实际上不是一个功能.这是一种语言结构.这有一些影响:
你不能isset在函数返回时使用(isset(foo())不起作用).它只适用于变量(或变量组合,如数组访问或对象访问).
它没有函数调用的开销,所以它总是很快.函数调用的总体开销是一个需要担心的微优化,但值得一提的是,如果你处于紧密循环中,它可以加起来.
您不能将isset称为变量函数.这不起作用:
$func = 'isset';
$func($var);
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
558 次 |
| 最近记录: |