douyanguo7964 2013-11-06 14:22
浏览 20
已采纳

从值重命名数组

i have a string, say its

ID=14,123@@ID=15,789@@

i exploded it with

$pieces = explode("@@", $contents);

so now i have a set of array

array(3) 
{ 
[0]=> string(69) "ID=14,123" 
[1]=> string(9) "ID=15,789" 
[2]=> string(0) "" 
}

then i would like to explode again the string within the array and used this

foreach ($pieces as $key => $value){
     $pieces[$key] = strpos( $value, "," ) ?
                explode( ",", $value ) :
                $value; 

     }

now i have an even more nested one

array(3) 
{ 
[0]=> array(2) 
   { 
   [0]=> string(5) "ID=14" 
   [1]=> string(3) "123" 
   } 
[1]=> array(2) 
   { 
   [0]=> string(5) "ID=15" 
   [1]=> string(3) "789" 
   } 
[2]=> string(0) 
   "" 
}

but what i wanted was so that the word "ID" can be replaced into the key of the array so it becomes

array 
{ 
[ID=14]=> "123" 
[ID=15]=> "789" 
}

how can that be done? i'm very unfamiliar with array but would love to learn.

  • 写回答

2条回答 默认 最新

  • duanlv5084 2013-11-06 14:28
    关注
    $contents = 'ID,123@@ID,789@@';
    $pieces = explode("@@", $contents);
    
    $parsed = array();
    foreach ($pieces as $key => $value){
       $parsed[] = explode(',', $value);
    }
    
    $master = array();
    foreach ($parsed as $ar) {
            $master[][$ar[0]] = $ar[1];
    }
    print_r($master);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
  • ¥15 孟德尔随机化怎样画共定位分析图
  • ¥18 模拟电路问题解答有偿速度
  • ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
  • ¥15 误删注册表文件致win10无法开启
  • ¥15 请问在阿里云服务器中怎么利用数据库制作网站
  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址