我想用PHP抓取一个文本就像一个例子,有一个数据"苹果= 10"我想从看起来完全相同的数据中获取仅数字。我的意思是,数字的位置是等于'等等。
我的问题是来自源的数字可以是2或3个字符,或者另一个字是不稳定的。
请帮我解决一下:)
答案 0 :(得分:1)
$string = "Apple=10 | Orange=3 | Banana=7";
$elements = explode("|", $string);
$values = array();
foreach($elements as $element)
{
$element = trim($element);
$val_array = explode("=", $element);
$values[$val_array[0]] = $val_array[1];
}
var_dump($values);
输出:
array(3) {
["Apple"]=> string(2) "10"
["Orange"]=> string(1) "3"
["Banana"]=> string(1) "7"
}
希望你需要它:)
答案 1 :(得分:0)
嗯,php对int
转换有点懒惰,因此12345blablabla
可以转换为12345
:
$value = intval(substr($str, strpos($str, '=') + 1));
当然,这不是最干净的方式,但很简单。如果你想要更清洁的东西,你可以使用正则表达式:
preg_match ('#=([0-9]+)#', $str, $matches);
$value = intval($matches[1]) ;
答案 2 :(得分:0)