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

DDD
發布: 2024-10-22 06:27:03
原創
980 人瀏覽過

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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!