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.

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

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法