高效地将字符串分解为关联数组
将字符串转换为关联数组是编程中的常见任务。然而,在不使用循环的情况下这样做可能具有挑战性。让我们探讨一下将“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中文网其他相关文章!