!isset($matches['host']) && $matches['host'] = '';
这个语法怎么不理解
变量&&变量 =变量
UC、UCHOME都出现过,
这句作用是什么?
第二个是一个正则
"\@?\\\$[a-zA-Z_]\w*(?:\[[\w\.\"\'\[\]\$]+\])*";
(?:这块又怎么理解?
这个语法怎么不理解
变量&&变量 =变量
UC、UCHOME都出现过,
这句作用是什么?
第二个是一个正则
"\@?\\\$[a-zA-Z_]\w*(?:\[[\w\.\"\'\[\]\$]+\])*";
(?:这块又怎么理解?
有什么问题吗?
你确定是这么写的吗?不是$matches['host'] == '';
?表示0个或1个字符
这里的很多\基本都是转义的..
!isset($matches['host']) && $matches['host'] = '';
如果!isset($matches['host'])为真,则执行后面的$matches['host'] = '',否则不执行.
匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用.
不是你想像的哪样,举例说明:$str = "asfdassafas12133asfdsadf";
preg_match_all("/(?:[\d]+)/i", $str, $matches);
var_dump($matches);
/*
array(1) {
[0]=>
array(1) {
[0]=>
string(5) "12133"
}
}
*/
preg_match_all("/([\d]+)/i", $str, $matches1);
var_dump($matches1);
/*
array(2) {
[0]=>
array(1) {
[0]=>
string(5) "12133"
}
[1]=>
array(1) {
[0]=>
string(5) "12133"
}
}
*/