首頁 >後端開發 >php教程 >如何有效率地將逗號分隔的Key=Value字串轉換為關聯陣列?

如何有效率地將逗號分隔的Key=Value字串轉換為關聯陣列?

Susan Sarandon
Susan Sarandon原創
2024-12-04 00:30:11263瀏覽

How Can I Efficiently Convert a Comma-Separated Key=Value String into an Associative Array?

將逗號分隔的Key=Value 表達式字串轉換為關聯數組

將逗號分隔的鍵值對字串解析為關聯數組可能是一項乏味的任務。雖然建議的使用explode()和foreach的方法可能很簡單,但對於較大的字串來說它可能效率低下。

使用正規表示式的更有效方法

更優雅而高效的解決方案是利用正規表示式:

$str = "key=value, key2=value2";
preg_match_all("/([^,= ]+)=([^,= ]+)/", $str, $r); 
$result = array_combine($r[1], $r[2]);
var_dump($result);

這種方法使用preg_match_all() 函數來擷取使用正規表示式模式([^,= ] )=([^,= ] )的鍵值對的所有符合。匹配結果儲存在 $r 數組中,鍵儲存在 $r[1] 中,值儲存在 $r[2] 中。最後, array_combine() 函數組合鍵和值來建立所需的關聯數組。

問題中提供的範例字串將產生以下關聯數組:

array(
  "key" => "value",
  "key2" => "value2"
)

This方法為解析逗號分隔的鍵值字串提供了一種簡潔且高效能的解決方案。

以上是如何有效率地將逗號分隔的Key=Value字串轉換為關聯陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn