【发布时间】:2012-01-14 13:10:40
【问题描述】:
我正在制作一个使用类布尔变量的 PHP 脚本,但由于某种原因,当我想将其设置为 true 时,它不起作用:/
<?php
class TinyFram {
private $urlMatched;
public function get($url, $method){
$urlR = str_replace('/', '\/', $url);
$urlR = '^' . $urlR . '\/?$';
if (preg_match("/$urlR/i", $reqURI, $rMatch)) {
$this->urlMatched = true; // I SET IT TO TRUE HERE
$method($rMatch);
}
if(!$this->urlMatched) {
echo var_dump($this->urlMatched); // BUT HERE IT SHOWS AS FALSE
notFound($rMatch);
}
}
}
?>
我做错了什么?谢谢!
【问题讨论】:
-
只有在第二个
if条件通过时才执行var_dump,但您的条件为(!$this->urlMatched)。所以我不知道你为什么感到惊讶! -
另外,你可能想
preg_quote你的$url... -
也许我的正则表达式也错了。但是 IDK 为什么它不将其设置为
true,因为preg_match匹配并且$method($rMatch);被调用