在 PHP 中不使用循环将字符串分隔成多维数组
在 PHP 中操作字符串时,将它们分成更小的块或提取具体数据。一个常见的任务是将字符串拆分为多维数组,这可以帮助组织和构建信息。
问题:
我们如何拆分像“A”这样的字符串,5|B,3|C,8" 到 PHP 中的多维数组而不使用循环?
解决方案:
虽然问题建议避免循环,但拆分字符串通常涉及某种形式的迭代。但是,我们可以利用 PHP 的内置函数来简化该过程。
考虑以下代码:
<code class="php"><?php $str = "A,5|B,3|C,8"; $a = array_map( function ($substr) { return explode(',', $substr); }, explode('|', $str) ); var_dump($a); ?></code>
在这段代码中,我们使用 array_map 和绽放来实现我们的目标,而无需明确循环。它的工作原理如下:
这有效地创建了一个多维数组,其中每个子数组都是以下结果用逗号分割原始子字符串。
生成的 $a 变量将包含一个如下所示的数组:
array 0 => array 0 => string 'A' (length=1) 1 => string '5' (length=1) 1 => array 0 => string 'B' (length=1) 1 => string '3' (length=1) 2 => array 0 => string 'C' (length=1) 1 => string '8' (length=1)
此方法允许我们有效地将字符串分成多维数组,而无需编写手动循环。
以上是在 PHP 中,如何在不使用循环的情况下将像“A,5|B,3|C,8”这样的字符串拆分为多维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!