0

配列を変換するにはどうすればよいですか

Array
(
    [1] => a,b,c
    [2] => x,y,z
)

のような連想配列に

Array
(
  [a]=> b,c
  [x]=> y,z
)

基本的に配列の値をキーに変換したい。

4

6 に答える 6

1

より高速なソリューション:

foreach($array as $item){
    $x = explode(',',$item);
    $new_array[$x[0]] = implode(','array($x[1],$x[2]));
}
print_r($new_array);
于 2013-05-10T06:06:48.870 に答える
0

のようにしてみてください

$res = array();
foreach($my_arr as $value)
{
   $my_var[] = explode(',',$value);
   $i = 0;
   foreach($my_var as $ky)
   {
      if($i++ != 0)
         $exp_arr[] = $ky;
   }
   $res[$my_var[0]] =  implode(',',$exp_arr);
}

または、次のように設定を解除できます

foreach($my_arr as $value)
{
   $my_var[] = explode(',',$value);
   $temp = $my_var[0];
   unset($my_var[0]);
   $res[$temp] =  implode(',',$my_var);
}
于 2013-05-10T05:43:44.840 に答える
0

これを行う:

$myArray=array(1=>'a,b,c', 2=>x,y,z);
foreach($myArray as $val){
    $Xval=explode(",",$val);
    $newKey=$Xval[0];
    unset($Xval[0]);
    $newArray[$newKey]=implode(",",$Xval);
}
于 2013-05-10T05:44:44.797 に答える