首頁  >  文章  >  後端開發  >  如何將分隔字串轉換為無循環的關聯數組?

如何將分隔字串轉換為無循環的關聯數組?

DDD
DDD原創
2024-10-22 06:27:03989瀏覽

How to Convert a Delimited String to an Associative Array without Loops?

將分隔字串轉換為不含循環的關聯數組

目前的任務是轉換包含由分隔的鍵值對的字符串分隔符號(例如“1-350,9-390.99”)到關聯數組中。雖然循環可以完成此任務,但僅使用數組函數即可實現此目的。

一種方法涉及利用 array_chunk 函數將字串分成兩個元素的區塊:鍵和值。接下來是 array_column 將鍵和值提取到單獨的陣列中。最後,使用 array_combine 將這些提取的陣列組合成所需的關聯數組。

這是一個PHP 5.5 實作:

<code class="php">$input  = '1-350,9-390.99';

$chunks = array_chunk(preg_split('/[-,]/', $input), 2);
$result = array_combine(array_column($chunks, 0), array_column($chunks, 1));

print_r($result);</code>

這將產生以下關聯數組:

Array
(
    [1] => 350
    [9] => 390.99
)

這種方法不僅消除了對顯式循環的需要,而且還利用本機PHP 函數來增強效能和程式碼可讀性。

以上是如何將分隔字串轉換為無循環的關聯數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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