簡體   English   中英

preg_grep函數找不到任何東西(php)

[英]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);

IDEONE演示

要使用$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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM