如何创建if语句,说出这样的话? 基本上,如何使用URI类来确定任何段中是否存在值?
$segment = value_of_any_segment;
if($segment == 1{
do stuff
}
我知道这是非常基础的,但我并不完全理解URI类......
答案 0 :(得分:8)
我的问题有点不清楚,但我会尽力帮忙。您是否想知道如何确定特定段是否存在或者是否包含特定值?
您可能知道,您可以使用URI class访问特定的URI细分。以yoursite.com/blog/article/123
为例,blog
是第1段,article
是第2段,123
是第3段。您可以使用$this->uri->segment(n)
然后您可以构造if语句:
// if segment 2 exists ("articles" in the above example), do stuff
if ($this->uri->segment(2)) {
// do stuff
}
// if segment 3 ("123" in the above example) is equal to some value, do stuff
if ($this->uri->segment(3) == $myValue) {
// do stuff
}
希望有所帮助!如果没有,请告诉我,我可以详细说明或提供更多信息。
修改强>
如果您需要确定特定字符串是否出现在URI的任何段中,您可以执行以下操作:
// get the entire URI (using our example above, this is "/blog/article/123")
$myURI = $this->uri->uri_string()
// the string we want to check the URI for
$myString = "article";
// use strpos() to search the entire URI for $myString
// also, notice we're using the "!==" operator here; see note below
if (strpos($myURI, $myString) !== FALSE) {
// "article" exists in the URI
} else {
// "article" does not exist in the URI
}
关于strpos()的说明(来自PHP文档):
此函数可能返回布尔值 FALSE,但也可能返回 非布尔值,其值为 FALSE,例如0或“”。请阅读 关于布尔人的部分了解更多 信息。使用===运算符 测试这个的返回值 功能
我希望我的编辑有所帮助。如果我能详细说明,请告诉我。