簡體   English   中英

PHP將數組轉換為關聯數組

[英]PHP Convert Array To An Associative Array

我如何轉換數組

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

進入像關聯數組

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

基本上想要將數組的值轉換為鍵。

這個怎么樣:

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

$newArr = array();


foreach($arr as $key => $value) {

    $value = explode(",",$value);
    $firstValue = $value[0];
    array_shift($value);
    $newArr[$firstValue] =  implode(",",$value);

}

print_r($newArr); //Array ( [a] => b,c [x] => y,z )

更快的解決方案:

foreach($array as $item){
    $x = explode(',',$item);
    $new_array[$x[0]] = implode(','array($x[1],$x[2]));
}
print_r($new_array);

試試吧

$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);
}

做這個:

$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);
}

試試這個,

$newArray = array();
foreach($array as $data){
    $values = explode(",",$data);
    $key = array_shift($values);
    $newArray[$key] = implode($values,",");
}
print_r($newArray);

演示

嘗試這個

<?php
$array=array('a,b,c', 'x,y,z');
foreach($array as $key=>$val)
{
   $array[substr($val,0,1)]=substr($val,2);
   unset($array[$key]);
}

 print_r($array);
?>

見演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM