4 php
我有这个:
15_some_text_or_numbers;
Run Code Online (Sandbox Code Playgroud)
我想在第一个下划线前面看到什么.第一个下划线后面总会有一个字母.
例:
14_hello_world = 14
Run Code Online (Sandbox Code Playgroud)
结果是14号!
谢谢
Gor*_*don 10
如果前面总是有一个数字,你可以使用
echo (int) '14_hello_world';
Run Code Online (Sandbox Code Playgroud)
请参阅PHP手册中有关String转换为整数的条目
这是一个没有类型转换的版本:
$str = '14_hello_1world_12';
echo substr($str, 0, strpos($str, '_'));
Run Code Online (Sandbox Code Playgroud)
请注意,如果未找到下划线,则不会返回任何内容.如果找到,返回值将是一个字符串,而类型转换的结果将是一个整数(不是很重要).如果您不想在没有下划线的情况下返回整个字符串,则可以使用
$str = '14_hello_1world_12';
echo str_replace(strstr($str, '_'), '', $str);
Run Code Online (Sandbox Code Playgroud)
作为PHP5.3的你也可以使用strstr与$before_needle设置为true
echo strstr('14_hello_1world_12', '_', true);
Run Code Online (Sandbox Code Playgroud)
注意:由于PHP中从字符串到整数的类型转换遵循明确定义且可预测的行为,并且此行为遵循Unix自己strtod的混合字符串规则,我看不出第一种方法是如何滥用类型转换.
preg_match('/^(\d+)/', $yourString, $matches);
Run Code Online (Sandbox Code Playgroud)
$matches[1] 将保持你的价值