[英]preg_grep function does not find anything (php)
我不想問這種問題,因為答案是“我很愚蠢”或“我的計算機有一個奇怪的問題” ...(而且第一個可能是正確的問題),但我堅持說:
$matches = preg_grep("(.+)","ThisIsATest");
error_log(count($matches), 3, "php.log");
日志給我0
,無論我提供什么模式...我都不明白為什么$matches
變量總是空的!
preg_grep
不是用於搜索字符串,而是用於搜索字符串數組...您可能應該改用preg_match
。
這是您應該得到的錯誤:
preg_grep() expects parameter 2 to be array, string given
這是一種通過preg_match
返回一個匹配項的方法(在這種情況下,您將只有1個):
preg_match("(.+)","ThisIsATest", $matches);
print_r($matches);
要使用$matches[0]
訪問值,您需要使用preg_match_all
:
preg_match_all("(.+)","ThisIsATest", $matches);
print_r($matches[0]);
觀看另一個演示
似乎您使用的是錯誤的方法:
if (preg_match('/(.+)/', "ThisIsATest")) {
# Successful match
} else {
# Match attempt failed
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.