数组到字符串转换出错



我想使用这个代码的array_diff我也得到输出,但同样的时间错误发生

"数组到字符串的转换"

我正在使用codeigniter,我在第二个数组(listingdata)中获得post值,方法$this->input->post();,但是我的第一个数组得到一些动态键和值,然后这两个数组diff给我输出,但一些时间得到错误。

Please Help me

任何解决方案都欢迎。

 if(isset($_POST)){
                foreach($_POST as $key => $value) {
                    $arr[$key] = $value; // making array 
                }
            }
            $result = array_diff($arr,$listingdata);
            print_r($result);
            print_r($arr);
            print_r($listingdata);

My $arr array

Array
(
    [itemTitle] => fdafdas
    [subtitle] => fadsfdas
    [quantity] => 12
    [itemDescription] => fdas
    [hide_ebay_id] => 89
    [ebay_user] => Array
        (
            [0] => 
        )
    [ebay_category] => 2984
    [e_sub_cat] => 20433
    [e_second_child_sub_cat] => 117027
    [e_third_child_sub_cat] => 
    [ebay_upc] => 31231241341
    [Brand] => Unbranded
    [MPN] => Does_Not_Apply
    [Model] => fsdf
    [Country/Region_of_Manufacture] => Unknown
    [listingType] => FixedPriceItem
    [listingduration] => Days_5
    [buy_it_now_price] => 20.00
    [shippingtype] => Flat
    [fshippingservice] => USPSPriorityFlatRateBox
    [shippingservicecost] => 2.0
    [shippingsac] => 3.0
    [internationalhc] => 
    [paypalemailaddress] => sam@jaff.in
    [dispatchtimemax] => 3
    [location] => CA
    [ebaycountry] => 
    [ebay_paypalemail] => 
    [ReturnsAccepted] => ReturnsAccepted
    [returnswithin] => Days_14
    [refundoption] => MoneyBack
    [shippingcostpaidbyoption] => Seller
    [policydescription] => wqdewvfdgbfdggrbf
)

这是另一个数组

Array
(
    [itemTitle] => fdafdas
    [subTitle] => fadsfdas
    [categoryId] => 117027
    [itemDescription] => fdas
    [listingType] => FixedPriceItem
    [listingDuration] => Days_5
    [startPrice] => 
    [buyItNowPrice] => 20.00
    [quantity] => 12
    [upc] => 31231241341
    [paypalEmailAddress] => sam@jaff.in
    [returnWithin] => Days_14
    [RefundOption] => MoneyBack
    [ShippingCostPaidByOption] => Seller
    [returnsAccepted] => ReturnsAccepted
    [shippingType] => Flat
    [cshippingService] => 
    [fshippingService] => USPSPriorityFlatRateBox
    [dcPostalcode] => 
    [ShippingServiceCost] => 2.0
    [dshippingPackage] => 
    [shippingHandlingcost] => 
    [shippingServiceAdditionalCost] => 3.0
    [currency] => USD
    [country] => 
    [location] => CA
    [dispatchTimeMax] => 3
    [pictureUrl] => Array
        (
            [0] => http://jaftech.in/ashprey/uploads/69.jpg
        )
    [policyDescription] => wqdewvfdgbfdggrbf
    [internationalShipping] => 
    [internationalShippingType] => 
    [internationalShippingServiceCost] => 
    [internationalshippingServiceAdditionalCost] => 
    [cinternationalshippingService] => 
    [finternationalshippingService] => 
    [internationalShipToLocation] => 
    [internationaloriginatingPostalCode] => 
    [internationalshippingHandlingcost] => 
    [ishippingPackage] => PackageThickEnvelope
    [pid] => 89
)

这是因为array_diff在将两个比较值类型转换为字符串后比较值(参见文档说明)。

你的两个数组都包含另一个数组(ebay_user和第二个pictureUrl)。

请参阅递归array_diff的答案,它应该适用于您的情况。

最新更新