douchengfei3985 2015-02-24 16:54
浏览 17
已采纳

如何在PHP中构建旧数组的新数组?

I am trying to construct a new array, just to organize my original one a bit more.

Here is my original array look like :

array (size=20893)
  0 => 
    array (size=3)
      0 => string 'Item Name' (length=9)
      1 => string 'Sales Description' (length=17)
      2 => string 'Qty on Hand' (length=11)
  1 => 
    array (size=3)
      0 => string 'bs-1808r-hrp' (length=12)
      1 => string 'RABBIT ANTI-HPT/HAPTOGLOBIN POLYCLONAL ANTIBODY, HRP CONJUGATED' (length=63)
      2 => string '' (length=0)
  2 => 
    array (size=3)
      0 => string 'bs-3605R-Biotin-de' (length=18)
      1 => string 'RABBIT ANTI-YAP1 POLYCLONAL ANTIBODY, BIOTIN CONJUGATED' (length=55)
      2 => string '' (length=0)
  3 => 
    array (size=3)
      0 => string 'bs-9185R' (length=8)
      1 => string 'RABBIT ANTI-VGLL4 POLYCLONAL ANTIBODY' (length=37)
      2 => string '' (length=0)
  4 => 
    array (size=3)
      0 => string 'Cancelled Order' (length=15)
      1 => string '' (length=0)
      2 => string '' (length=0)
  5 => 
    array (size=3)
      0 => string 'Consulting fee' (length=14)
      1 => string '' (length=0)
      2 => string '' (length=0)
  6 => 
    array (size=3)
      0 => string 'duplicate' (length=9)
      1 => string '' (length=0)
      2 => string '' (length=0)
  7 => 
    array (size=3)
      0 => string 'return' (length=6)
      1 => string '' (length=0)
      2 => string '' (length=0)
  8 => 
    array (size=3)
      0 => string 'SERVICE' (length=7)
      1 => string 'RABBIT ANTI-LPP2 POLYCLONAL ANTIBODY' (length=36)
      2 => string '' (length=0)
  9 => 
    array (size=3)
      0 => string 'Validation program' (length=18)
      1 => string '' (length=0)
      2 => string '' (length=0)
  10 => 
    array (size=3)
      0 => string 'Cold Pack' (length=9)
      1 => string '' (length=0)
      2 => string '' (length=0)

Want to see the whole array ? HERE

Right now , it index by # : 0,1,2, ... and their key is also # : 0,1,2, ...

I want to change the index from # to sku, and change their key from:

  • 0 > sku
  • 1 > name
  • 2 > stock

Can someone tell me what I did wrong here ?

// Contruct $new_qb_array
        foreach ( $qb_array as $key => $value )
        {
            $new_qb_array[ $value[0] ] = array('sku'=>$value[0], 'name'=>$value[1], 'stock'=>$value[2]);
            unset( $value[0] );
        }

I keep getting this :

enter image description here

  • 写回答

1条回答 默认 最新

  • duanhao4156 2015-02-24 17:21
    关注
    // Contruct $new_qb_array
    foreach ( $qb_array as $key => $value )
    {
        $new_qb_array[ $value[0] ] = array('sku'=>$value[0], 'name'=>@$value[1], 'stock'=>@$value[2]);
    }
    unset($qb_array);
    

    Note that addition of the @ symbol in front of $value[1] and $value[2] - that will suppress the error.

    I also moved the unset() out of your loop - it will be a lot faster to do it once at the end rather than piece-by-piece within the loop unless I am missing something there in terms of your requirements.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能