如何有效率地將定界字串轉換為無循環的關聯數組?

Mary-Kate Olsen
發布: 2024-10-22 06:23:31
原創
829 人瀏覽過

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

有效地將字串分解為關聯數組

將字串轉換為關聯數組是程式設計中的常見任務。然而,在不使用循環的情況下這樣做可能具有挑戰性。讓我們探討一下將「1-350,9-390.99」這樣的字串分解為關聯數組的問題的解決方案:

PHP 5.5 及更高版本提供了一種巧妙的方法來使用array_chunk和array_column 的組合來實現此目的。它的工作原理如下:

<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>
登入後複製

此程式碼首先使用 preg_split 函數將輸入字串拆分為區塊,並用破折號 (-) 和逗號 (,) 分隔字串。然後,它使用 array_column 提取區塊的第一列和第二列,它們分別對應於關聯數組的鍵和值。最後,使用 array_combine 建立關聯數組。

結果是一個關聯數組,其中鍵是區塊的第一個值(例如「1」和「9」),值是區塊的第一個值(例如「1」和「9」) 。區塊的第二值(例如,“350”和“390.99”)。這種方法消除了對循環的需要,使其成為將分隔字串轉換為關聯數組的高效且簡潔的解決方案。

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

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