从字符串中只选择一个字符

use*_*414 0 php string trim

我有一个字符串变量,看起来像这样: fasdhkfsdk, 1 sdfs

字符串中的前后字符数量的大小不同,但逗号和二进制值将始终存在(值将从1更改为0).

我需要一种方法来关闭二进制值左右两侧的所有内容,只留下1或0.双方的字符数确实发生变化,所以我不认为我可以使用substr或explode,但我可以是错的

非常感谢

ps是的,在二进制数字之前总会有一个逗号和一个空格

Bab*_*aba 6

例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 substrstrrpos

//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)