//array data
{
$results[] = $result;
$SiteID=$result["site_id"];
$pay_sale_id=$result["pay_sale_id"];
$pay_payment_info=$result["pay_payment_info"];
$payNo= substring_index(substring_index('$result["pay_payment_info"]', '$USER=', -1), '~$TAGROLE', 1);
}
pay\u payment\u info的内容如下
# $TAG=6F0000173~$USER=james~$TAGROLE=0
我只想提取用户信息,但出现错误:
致命错误:调用第行中未定义的函数substring\u index()
4条答案
按热度按时间xzlaal3s1#
看来问题是你没有
substring_index()
函数或方法,但您尝试调用它两次。我不知道你为什么用这个
~
作为分隔符,但这应该是可以的,尽管使用,
会减少工作量;查询字符串的每个属性都可以直接寻址。你要做的是使用
php
的版本split()
哪个是explode()
这是手册的链接。您要做的是拆分inc字符串:
现在你有了一个数组。循环浏览并使其符合您的要求:
最后是一个数组,其中键作为键,它们各自的值作为值,即。
kninwzqo2#
考虑到用户信息总是以
~$USER=
以一个~
我们可以使用简单的正则表达式得到结果:nx7onnlm3#
错误会确切地告诉您它是错误的原因:
substring_index
不是有效的/本机php函数。。。你可以定义你自己的substring_index
不过。但是,给定字符串:
$tag=6f000173~$user=james~$tagrole=0
要获得$user=james部分,可以使用
explode
如下--现在,你有了
$USER
信息输入$payNo[1]
如果你想走得更远,得到什么的价值$USER
值为,则可以使用php的本机substr
功能:请注意:以上假设字符串的格式始终为
$tag=…~$user=…~$tagrole=。。。
qlzsbp2j4#
正如之前的评论所说,没有类似的功能
substring_index
核心php这个问题可能与下面的php-get-string-between-tags主题重复
下面是使用
strpos
http://php.net/manual/pl/function.strpos.php以及
substr
http://php.net/manual/pl/function.substr.php