我有一个带有可变数字的数字的字符串,以逗号分隔:
[['pav', 26], ['sunny', 24]]
我可以使用此功能获取最后一个值:
$num = 15.514,6.23,9.15
如何获取最后一个逗号(6.23)之前的数字?这些数字的大小可能会有所不同,所以我必须确保无论数字有多少都能得到数字。
答案 0 :(得分:0)
$split = explode(',', $num); // splits the string at each comma
// first option
$secondLast = $split[count($split) - 2];
// second option
end($split); // gets the pointer to the last array element
$secondLast = prev($split); // moves the pointer back one entry
速度差别不大,所以你可以使用你喜欢的那个。
答案 1 :(得分:0)
您可以使用正则表达式获得所需的结果,该正则表达式使用量词的自然贪婪来达到最后一个逗号:
$result = preg_replace('~.*(?<![^,])([^,]*),.*~', '$1', $str);
(简而言之:捕获字符串的最后一部分,该字符串前面没有不逗号直到最后一个逗号的字符,并且全部删除)< / em>的
但由于分隔符是固定字符串,因此简单的explode
应该足够,或者为什么不是为逗号分隔值设计的str_getcsv
:
$parts = str_getcsv($str);
array_pop($parts);
$result = end($parts);