【发布时间】:2011-09-06 16:41:01
【问题描述】:
我有这个字符串:
467:some-text-here-1786
如何只选择“:”之前的第一个数值?
谢谢
【问题讨论】:
标签: php
我有这个字符串:
467:some-text-here-1786
如何只选择“:”之前的第一个数值?
谢谢
【问题讨论】:
标签: php
很简单:
list($var) = explode(":",$input);
或
$tmp = explode(":",$input);
$var = array_shift($tmp);
或(如 PhpMyCoder 所指出的)
$tmp = current(explode(":",$input));
【讨论】:
reset()代替array_shift()。
$string = '467:some-text-here-1786';
$var = (int)$string;
既然您要提取一个数字,这就足够了 :) 有关此功能的原因,请查看官方 PHP 手册:http://www.php.net/manual/en/language.types.string.php#language.types.string.conversion
它也非常快速且非常安全:您肯定会得到一个号码。
【讨论】:
$a = "467:some-text-here-1786";
$a = explode(":", $a);
$a = $a[0];
【讨论】:
另一种方法:
$length = strpos($string, ':') + 1;
$number = substr($string, 0, $length);
【讨论】: