$f=array('0'=>array('id'=>'555','cd'=>'6666'),'1'=>array('id'=>'bbb','cd'=>'ddd'),'2'=>array('id'=>'ccc','cd'=>'ccc'));
$t = array();
foreach($f as $v){
$t[$v['id']]=$v;  //这句理解不了,求开导!! 是怎么把键名变成id的值的?原理是什么?
}
print_r($t);

解决方案 »

  1.   

    你先要知道$v是什么,就是array('id'=>'555','cd'=>'6666')这几个,$va['id']一次循环就是  555,bbb,ccc,然后$t['555'] = array...,
      

  2.   

    foreach($f as $v){ 后
    $v 依次为
    array('id'=>'555','cd'=>'6666')
    array('id'=>'bbb','cd'=>'ddd')
    array('id'=>'ccc','cd'=>'ccc')$t[$v['id']] 就是
    $i = $v['id'];
    $t[$i]
    这样就不难理解了吧
      

  3.   


    第一次
    $v  为  array('id'=>'555','cd'=>'6666')
    $v['id']  就为  555
    $t[$v['id']]  就是 $t['555']
    整个结果就是  $t['555'] = array('id'=>'555','cd'=>'6666')第二次
    $v  为  array('id'=>'bbb','cd'=>'ddd')
    $v['id']  就为  bbb
    $t[$v['id']]  就是 $t['bbb']
    整个结果就是  $t['bbb'] = array('id'=>'bbb','cd'=>'ddd')第三次
    $v  为  array('id'=>'ccc','cd'=>'ccc')
    $v['id']  就为  ccc
    $t[$v['id']]  就是 $t['ccc']
    整个结果就是  $t['ccc'] = array('id'=>'ccc','cd'=>'ccc')
    结果$v 就是得到的最终数组