将字符串分解为2d数组

时间:2011-09-08 21:00:17

标签: php arrays string multidimensional-array split

假设我有一个这样的字符串。

苹果:纸:红,梨:岩石:蓝色,桃:剪刀:绿色

您如何将其分解为多维数组?你能做一个嵌套的分裂循环吗?像是在逗号上分割字符串,然后在循环内的冒号上再分配一些东西。你如何以这种方式使用爆炸?我一定错过了一些明显的东西。最终结果应该是类似的。

[0] [0] = apple [0] [1] = pear [0] [2] =桃子

[1] [0] =纸[1] [1] =摇滚[1] [2] =剪刀

[2] [0] =红色[2] [1] =蓝色[2] [2] =绿色

感谢。

2 个答案:

答案 0 :(得分:8)

您可以多次调用爆炸:

$string = 'apple:paper:red,pear:rock:blue,peach:scissors:green';
$result = array();
foreach (explode(',', $string) as $piece) {
    $result[] = explode(':', $piece);
}

答案 1 :(得分:0)

放手一搏:

$string = 'apple:paper:red,pear:rock:blue,peach:scissors:green';
foreach (explode(',', $string) as $key=>$piece) {
  foreach (explode(':', $piece) as $k=>$column) {
    $result[$key][$k] = $column;
  }
}

可能会帮助您按照自己的意愿出来。 (我已经测试过,它对我有用;))