将字符串爆炸到数组中,但将字符串的第一个值指定为新数组中的键

时间:2011-06-19 05:16:11

标签: php arrays

我正在尝试创建一个数组,循环遍历另一个数组并获取键中的字符串值,将其指定为新数组中的键/值对。这是我通过var_dump输出的值数组的示例:

array 
  0 => string 'dog,bark' (length=8)
  1 => string 'cat,meow' (length=8)
  2 => string 'cow,moo' (length=7)

我想要做的就是在新数组中,它就像这样设置

array 
  'dog' => string 'bark' (length=4)
  'cat' => string 'meow' (length=4)
  'cow' => string 'moo' (length=3)

我认为爆炸可以解决问题,用逗号分隔,但它不会按预期填充键,而是使用标准数值。所以在做了一些研究并且空白后,我想知道是否有一个我缺少的PHP函数,或者错过了一些简单的逻辑,这些逻辑可以完成我想要的工作。

编辑:忘记最重要的部分。这是为新数组赋值的当前代码。不在凌晨2点编码的一个原因

foreach ($array as $key=>$value) {
     $newArray= explode(',', $array [$key]);
}

2 个答案:

答案 0 :(得分:1)

$newArray = array();

foreach($array as $joined) {

    list($key, $value) = explode(',', $joined);
    $newArray[$key] = $value;

}

答案 1 :(得分:1)

$start = array('a,x', 'b,y', 'c,z');

$result = array();
foreach($start as $startVal){
   list($key,$val) = explode(',', $startVal);
   $result[$key] = $val;
}