原帖地址:
http://bbs.csdn.net/topics/390595542  4#如果完整的页面信息是:Array
(
     ......
    [83] => Part Information 
            零件清单
    [84] => 序号
    [85] => 零件号
    [86] => 零件说明
    [87] => 需求数量
    [88] => 承诺数量
    [89] => 实收数量
    [90] => 包装数
    [91] => 料箱数
    [92] => 料箱号
    [93] => 实发料箱号
    [94] => 实发料箱数
    [95] => 实收料箱号
    [96] => 实收料箱数
    [97] => 备注
    [98] => 1
    [99] => 12606260
    [100] => model
    [101] => 480
    [102] => 480
    [103] => 
    [104] => 120
    [105] => 4
    [106] => 0PTYN027
    [107] => 
    [108] => 
    [109] => 
    [110] => 
    [111] => 
    [112] => 2
    [113] => 12615516
    [114] => 节气门控制器控制模块
    [115] => 360
    [116] => 360
    [117] => 
    [118] => 120
    [119] => 3
    [120] => 0PTYN007
    [121] => 
    [122] => 
    [123] => 
    [124] => 
    [125] => 
    [126] => Supplier 
            Signature            
               Carrier Signature供应商签字 
            _____________    
            承运商签字 _____________
    [127] => Supplier Confirm 
            Time    供应商确认时间 13-09-10 09:01
    [128] => Receiver Signature 
            收货人签字 _______________
    [129] => Date 
            日期 ______________
    [130] => *** END OF PAGE ***
)
多了从126的单元至130的单元。这样的话array_combine会报warning错误,Both parameters should have an equal number of elements。如果要完全匹配,如何过滤126-130 单元的内容信息?

解决方案 »

  1.   

    array_combine 函数需要参与运算的两个数组的长度一致,如果你不能保证这一点,就不要使用
    你的 126-130 单元的内容并不在二维表中,当然需要单独处理你或许可以
    [83] => Part Information
    作为二维表的开始
    [126] => Supplier
    作为二维表的结束
      

  2.   

    如何做,得由你决定
    我举例中用 array_combine 只不过告诉你还可以这么做
      

  3.   


    搞定了。由于最后五行是固定的,用了array_slice函数,再用了个array_diff函数就把后面的5行数据去掉了。非常感谢!