添加信息,我有這個字符串重寫PHP中的字符串內
[ 1, 6], [ 2, 5]
所有我需要的是重寫它來尋找像
['lat' => 1, 'long' => 6],['lat' => 2, 'long' => 5]
所以meaby的邏輯應該是每1日前數字應該加'拉特'=>和每第二個數字'長'=>之前,但我不知道。 我使用PHP,但如果我有邏輯代碼,使用任何其他語言都不會有問題。 Thatk你
添加信息,我有這個字符串重寫PHP中的字符串內
[ 1, 6], [ 2, 5]
所有我需要的是重寫它來尋找像
['lat' => 1, 'long' => 6],['lat' => 2, 'long' => 5]
所以meaby的邏輯應該是每1日前數字應該加'拉特'=>和每第二個數字'長'=>之前,但我不知道。 我使用PHP,但如果我有邏輯代碼,使用任何其他語言都不會有問題。 Thatk你
<?php
function transform($str) {
$str = str_replace('], ', '@', $str);
$str = str_replace('[', "['lat' =>", $str);
$str = str_replace(',', ", 'long' =>", $str);
$str = str_replace('@', '],', $str);
return $str;
}
$in = '[ 1, 6], [ 2, 5]';
$out = "['lat' => 1, 'long' => 6],['lat' => 2, 'long' => 5]";
print assert($out == transform($in));
的替代正則表達式是正常的字符串函數:
<?php
$input = '[ 1, 6], [ 2, 5]';
list($latA, $longA, $latB, $longB) = sscanf($input, '[ %d, %d], [ %d, %d]');
$output = sprintf(
"['lat' => %d, 'long' => %d],['lat' => %d, 'long' => %d]",
$latA, $longA, $latB, $longB
);
var_dump($output);
輸出是:
string(51) "['lat' => 1, 'long' => 6],['lat' => 2, 'long' => 5]"
但是我懷疑,這真的是你在找什麼。這兩種格式看起來更像是它們實際上不是字符串,而是一個數組,其中包含兩個數值數組,每個數組包含兩個元素,每個元素作爲輸入,一個關聯數組作爲輸出如果是這樣,那麼答案會更簡單:-)