RT  我有一个数组 元素格式是这样的 a[1],a[2],a[4],a[6],a[7],a[10],a[14],a[16]这样的数值, 
我现在想用一个循环遍历出来
$i_count=count(a数组);
for($i=1;$i<$i_count;$i++)
{
var_dump(a[下标]);
}因为下标不是连续的。当循环到下标3,5,8,9的时候就报错了,不知道如何解决

解决方案 »

  1.   

    foreach($a AS $k=>$v)
    {
       echo  $k . ' => ' . $v;
    }
      

  2.   

    补充说明。 我想表达的意思是a[3]这样是取不到值的。想把a[4]的值给a[3] 后面依此类推、a[6]给a[4],a[7]给a[5],a[10]给a[6]
      

  3.   

    LS的大哥。能否说的明白点? 小弟对PHP一知半解
      

  4.   

    $arr = array(
    '1' => 'a',
    '2' => 'b',
    '4' => 'c',
    '6' => 'd',
    '9' => 'e'
    );
    //重建数字下标?从0开始
    $res = array_values($arr);//$res数组结果是 0=>a 1=>b……//自定义下标?例如
    $key = array('itemA', 'itemB', 'itemC', 'itemD', 'itemE');
    $res = array_combine($key, $arr);//$res数组结果是itemA => a itemB => b……
      

  5.   

    谢谢楼上的大哥。。我的问题自己琢磨的解决了
    代码如下,请点评
                    $a_returns_type_list = $ClassMain->GetPostArray('returns_type');
    $a_returns_sku_list = $ClassMain->GetPostArray('returns_sku');
    $a_returns_qty_list = $ClassMain->GetPostArray('returns_qty');
    $a_returns_reason_list = $ClassMain->GetPostArray('returns_reason');
    //然后抛出第一个,后面的自动就被PHP排序了
                    array_shift($a_returns_type_list);
    array_shift($a_returns_sku_list);
    array_shift($a_returns_qty_list);
    array_shift($a_returns_reason_list);
    array_shift($a_reason_item_list);            for ($i = 1; $i <= $i_count; $i++)
    {
    var_dump($a_returns_type_list[$i]);
    var_dump($a_returns_sku_list[$i]);
    var_dump($a_returns_qty_list[$i]);
    var_dump($a_returns_reason_list[$i]);
                     }
      

  6.   

    $new=array();
    foreach($array as $one){
        $new[]=$one;
    }
    var_dump($new);
    调用$new这样就ok拉
      

  7.   

    楼主/5楼/6楼/7楼:难道没看到 4 楼的 $res = array_values($arr); ?!!!
    ————————————————————————————————
    基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)[/size]