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 版本不支持strstrDocs 的第三个参数,因此出现错误消息。您使用该函数需要 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() 的参数计数错误的主要内容,如果未能解决你的问题,请参考以下文章

错误 #1063:参数计数不匹配 - AS3

Ebean - 动态查询 - 准备语句的不匹配参数计数错误

strstr return 如何不是一个常数

PHP / PDO动态绑定值(无效的参数计数错误)

可变宏参数计数未按预期工作

对本机函数“DATEDIFF”的调用中的参数计数不正确