strstr() 的参数计数错误
Posted
技术标签:
【中文标题】strstr() 的参数计数错误【英文标题】:wrong parameter count for strstr() 【发布时间】:2011-10-20 18:04:07 【问题描述】:我使用帖子 GUID 和帖子标题在 wordpres 中构建了一个导航菜单,我只取了部分标题,为此我正在执行以下操作,
$casestudylist .= "<li class='subnav'><a href=".$v->guid.">". strstr($v->post_title, ":", true)."</a></li>";
但是我收到以下警告并且无法找出原因:
wrong parameter count for strstr()
基本上,如果它们在 :
之前,我会尝试从字符串中提取所有字符。
【问题讨论】:
【参考方案1】:您使用的 php 版本不支持strstr
Docs 的第三个参数,因此出现错误消息。您使用该函数需要 PHP 5.3.0 或更高版本。
您可以升级服务器上的 PHP 版本,也可以将函数调用替换为类似的内容:
substr($v->post_title, 0, strpos($v->post_title, ":"))
或者如果您想使用更易于阅读的辅助函数 (Demo):
str_before($v->post_title, ":");
function str_before($subject, $needle)
$p = strpos($subject, $needle);
return substr($subject, 0, $p);
相关: strstr to show string before occurance
【讨论】:
【参考方案2】:第三个参数是在 PHP 5.3.0 中添加的。您运行的 PHP 版本是否低于 5.3.0?
【讨论】:
【参考方案3】:substr($v->post_title, 0, strpos($v->post_title, ':'));
将在较低版本的 PHP 上完成这项工作。
【讨论】:
以上是关于strstr() 的参数计数错误的主要内容,如果未能解决你的问题,请参考以下文章