我有一个字符串变量,看起来像这样: fasdhkfsdk, 1 sdfs
字符串中的前后字符数量的大小不同,但逗号和二进制值将始终存在(值将从1更改为0).
我需要一种方法来关闭二进制值左右两侧的所有内容,只留下1或0.双方的字符数确实发生变化,所以我不认为我可以使用substr或explode,但我可以是错的
非常感谢
ps是的,在二进制数字之前总会有一个逗号和一个空格
例1 sscanf
$string = "fasdhkfsdk, 1 sdfs" ;
$part = sscanf($string, "%s %d %s");
echo $part[1];
Run Code Online (Sandbox Code Playgroud)
另一个例子 sscanf
$string = "fasdhkfsdk, 1 sdfs" ;
$part = sscanf($string, "%s %d %s",$prifix,$number,$sufix);
print($number);
Run Code Online (Sandbox Code Playgroud)
例2 preg_match_all
$string = "fasdhkfsdk, 1 sdfs" ;
preg_match_all('!\d+!', $string, $matches);
print($matches[0][0]);
Run Code Online (Sandbox Code Playgroud)
例3 filter_var
$string = "fasdhkfsdk, 1 sdfs" ;
$int = filter_var($string, FILTER_SANITIZE_NUMBER_INT);
print($int);
Run Code Online (Sandbox Code Playgroud)
例4 substr用strrpos
//credit: slugonamission
$string = "fasdhkfsdk, 1 sdfs" ;
echo trim(substr($string , strrpos($string,",") + 1 ,2));
Run Code Online (Sandbox Code Playgroud)
产量
1
Run Code Online (Sandbox Code Playgroud)