首页  >  文章  >  后端开发  >  在 PHP 中,如何在不使用循环的情况下将字符串转换为多维数组?

在 PHP 中,如何在不使用循环的情况下将字符串转换为多维数组?

Patricia Arquette
Patricia Arquette原创
2024-10-29 19:14:30695浏览

How can I transform a string into a multidimensional array in PHP without using loops?

PHP 中不使用循环的多维数组解析

在 PHP 中,通过明智的做法,可以在不使用显式循环的情况下将字符串拆分为多维数组使用 PHP 的数组函数。

解决方案:

以下代码片段演示了如何将字符串转换为“A,5|B,3|C, 8” 不使用循环转化为多维数组:

<code class="php">$str = "A,5|B,3|C,8";

$a = array_map(
    function ($substr) {
        return explode(',', $substr);
    },
    explode('|', $str)
);

var_dump($a);</code>

解释:

  1. 首先,字符串“A,5|B,3|C ,8" 使用带有分隔符 '|' 的 Explode 函数拆分为一个子字符串数组。
  2. 然后使用 array_map 函数迭代每个子字符串,并使用以下函数将其再次拆分为两个值的数组分隔符 ','。
  3. 生成的数组 $a 包含输入字符串的多维表示形式,其中第一个维度表示每个子字符串,第二个维度保存两个值。

示例输出:

array
  0 =>
    array
      0 => 'A'
      1 => '5'
  1 =>
    array
      0 => 'B'
      1 => '3'
  2 =>
    array
      0 => 'C'
      1 => '8'

注意:

虽然在某些情况下 array_map 可能比手动循环更快,但请务必注意它仍然涉及内部循环。但是,函数提供的抽象避免了代码中显式循环的需要。

以上是在 PHP 中,如何在不使用循环的情况下将字符串转换为多维数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn