gpt4 book ai didi

php - 我应该使用 explode 、拆分和/或修剪吗?如何?

转载 作者:行者123 更新时间:2023-12-04 14:23:16 26 4
gpt4 key购买 nike

我想从中获得一些值(value):

$bounds = '((-34.41859810454894, 150.5594567718506), (-34.375112955999064, 150.74124617004395))';

我的目标是将四个数字中的每一个都列为自己的变量:
$swla = -34.41859810454894;
$swlo = 150.5594567718506;
$nela = -34.375112955999064;
$nelo = 150.74124617004395;

这是我糟糕的黑客尝试:
$pieces = explode("),", $bounds);
var_dump($pieces); //array(2) { [0]=> string(39) "((-34.41859810454894, 150.5594567718506" [1]=> string(43) " (-34.375112955999064, 150.74124617004395))" }
echo '<br />';

$sw = trim(substr($pieces[0], 2));
echo $sw .'<br />'; //-34.41859810454894, 150.5594567718506
$ne = trim(substr($pieces[1], 2), " ) ");
echo $ne.'<br />'; //-34.375112955999064, 150.74124617004395

$sw = explode(",", $sw);
var_dump($sw); //array(2) { [0]=> string(18) "-34.41859810454894" [1]=> string(18) " 150.5594567718506" }
echo '<br />';
$ne = explode(",", $ne); //array(2) { [0]=> string(19) "-34.375112955999064" [1]=> string(19) " 150.74124617004395" }
var_dump($ne);
echo '<br />';

谢谢

最佳答案

最短的方法可能是 preg_match_all :

preg_match_all('/[0-9.-]+/', $bounds, $matches);
list($swla, $swlo, $nela, $nelo) = $matches[0];

如果你想要 float ,那么你可以使用 sscanf 。但是,这些数字太精确,无法正确拟合 PHP double 数,这样做会失去一些精度。

关于php - 我应该使用 explode 、拆分和/或修剪吗?如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8583613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com