数组的下标不是用数字,而是用字母表示的,但是又不知道字母分别是什么这种情况下,怎么取出数组的第一个,第二个元素?除了用foreach,pop等,可不可以直接定位?

解决方案 »

  1.   

    $peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
    print_r(reset($peoples));
      

  2.   


    <?php
    //将数组的键值换掉.这样你就可以随意取值了.
    $a=array(a=>'aaa',b=>'bbb',c=>'ccc',e=>'eee',f=>'fff');foreach ($a as $k => $v) {
    $b[]=$v;
    }print_r($b);//结果
    //Array ( [0] => aaa [1] => bbb [2] => ccc [3] => eee [4] => fff ) 
    ?> 
      

  3.   

    $peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth'); 
    array_splice($peoples, 2);
      

  4.   

    echo  array_splice($peoples, 1);
      

  5.   

    jaxio:你的方法对不对哟,我试了下,输出 Array
      

  6.   

    如果是一次性读取,用foreach或reset,next读取是最快的。可以自己写个函数封装起来。
    function array_get($ar,$index)
    {
       foreach($ar as $k=>$v){
           $index--;
           if($index<0) return $v;
       }
    }如果要大量反复多次读取,则采用二楼的办法,先生成一个数组作为索引。
      

  7.   

    你echo出来当然是Array,应该用print_r()
      

  8.   

    $peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');
    $arr = array_values($peoples);
    echo $arr[0]."\n";
    echo $arr[1];
      

  9.   

    哈哈,长见识了
    array_values
    正合适
      

  10.   

    同意楼上:$a = array('a' => '1', 'b' => '2');
    reset($a);
    echo current($a);//1array_values()需要额外地拷贝一遍数组。
      

  11.   

    current() ..
    还有
    $a=xx;
    $b=$a//防止a数组变动.复制给b.
    $first=array_shift($b);
    echo $first;
      

  12.   

    print_r(implode(array_splice($input, 0, 1)));
      

  13.   

    $peoples=array('xm'=>'name','xb'=>'sex','mz'=>'nation','cs'=>'birth');  
    for($i=0;$i<count($peoples);$i++)
    {
       echo implode(array_slice($peoples,$i,1));
    }
    做循环的话
      

  14.   

    print_r()的话就不会这样了。写的仓促。
      

  15.   

    jlzan1314:
    你的头像,跟我的一个同学很像,他姓 钟
    不会就是你吧?
      

  16.   

    phpBoy005:
    这不没有时间嘛,我哪能一个一个研究所有数组相关的函数