php如何提取中string字符串中的一部分

问题详情:字符串为 $str = "abc&stat=100&remain=1589";
我只想提取到remain=后面的数字 1589,该如何实现呢?希望php大神指导一下。

<?php
//方法一
$str = "abc&stat=100&remain=1589";
$start = strrpos($str, '=');
echo substr($str , $start+1);
//方法二
$str = "abc&stat=100&remain=1589";
$arr = explode('=', $str);
echo $arr[2];
?>

取值的方法有很多种,简单的给出2个

望采纳Thx

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-16
 $out = array();
 $str = "abc&stat=100&remain=1589";
 
 // 第一种方式, 使用 parse_str 函数
 // (在字串是一个 url参数字串的时候 使用)
 parse_str($str,$out);
 var_dump($out['remain']);
 // 第二种方式, 使用关键字串进行 explode 分隔
 $out = explode('remain=', $str);
 var_dump($out[1]);
 // 第三种方式, 使用正则
 $out = array();
 preg_match('/remain=(\d+)/i', $str, $out);
 var_dump($out[1]);
 // 第四种方式, 使用字符串截取substr及 strrpos 函数
 $out = substr($str, strrpos($str, 'remain=') + strlen('remain='),   strlen($str));
 var_dump($out);

第2个回答  2014-09-16
<?php
$str = "abc&stat=100&remain=1589";

$new = explode('remain=',$str);
echo $new[1];
?>

第3个回答  2014-09-16
$str="abc&stat=100&remain=1589";
$index=strpos($str,'remain=');
$newstr=substr($str,$index+7);
echo $newstr;
第4个回答  2014-09-16
echo substr($str, (strpos( $str,"remain=")+strlen("remain="))) ;
相似回答