在 PHP 中不使用循环将字符串拆分为多维数组
在 PHP 中不依赖迭代结构将字符串拆分为多维数组,可以采用数组函数的组合来实现所需的结果。以格式为“A,5|B,3|C,8”的字符串为例。
利用 array_map 和explode,您可以高效地完成此任务。例如,在 PHP 5.3 及更高版本中,可以使用以下代码片段:
<code class="php">$str = "A,5|B,3|C,8"; $a = array_map( function ($substr) { return explode(',', $substr); }, explode('|', $str) ); var_dump($a);</code>
此代码片段首先使用 Explode 函数将输入字符串拆分为子字符串数组,该函数将字符串分隔为管道字符。然后,使用 array_map 对每个子字符串应用爆炸函数,进一步将其拆分为两个元素的数组:第一个元素包含字母,第二个元素包含数字。
结果是一个多维数组其中每个内部数组对应于输入字符串中的一对字母和数字:
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)
虽然此解决方案消除了用户代码中的显式循环,但值得注意的是,在内部,array_map 仍然使用循环遍历输入数组。因此,所提供的代码中没有循环并不意味着完全没有循环。
以上是如何在 PHP 中将字符串拆分为多维数组而不使用显式循环?的详细内容。更多信息请关注PHP中文网其他相关文章!