我如何从数组中获取数组块?

问题描述 投票:0回答:1

我想将从系统中生成的xml数据转换为数组数组,并将其发送到我单独出售的平台的API系统。

如果您可以审查和支持,我将不胜感激。

我的数组数据示例:

Array
(
    [product] => Array
        (
            [0] => Array
                (
                    [productSellerCode] => bebe27
                    [title] =>  Uzun Kollu Renkli Uyku Tulum Body Zıbın 6 Aylık Bebek
                    [subtitle] => Stoktan hızlı kargo
                    [description] => Bebeğiniz İçin Özel Günlerde ve Günlük Olarak Kullanabileceği Mükemmel Takım.Kaliteli Şık ve Zarif Olan Bu Ürünü Sizlere Sunuyoruz.%100 Pamuk olan bu ürünü Bebeğinize Güvenle Giydirebilirsiniz Dokusu Yumuşaktır.
                    [category] => Array
                        (
                            [id] => 1000053
                        )

                    [price] => 48.472
                    [domestic] => false
                    [currencyType] => 1
                    [images] => Array
                        (
                            [image] => Array
                                (
                                    [url] => https://tuccar.com.tr/image/catalog/bebe/IMG_7976.JPG
                                    [order] => 1
                                )

                        )

                    [attributes] => Array
                        (
                            [attribute] => Array
                                (
                                    [0] => Array
                                        (
                                            [name] => Beden
                                            [value] => 3-6 Ay
                                        )

                                    [1] => Array
                                        (
                                            [name] => Marka
                                            [value] => DİĞER
                                        )

                                )

                        )

                    [saleStartDate] => Array
                        (
                        )

                    [saleEndDate] => Array
                        (
                        )

                    [productionDate] => Array
                        (
                        )

                    [expirationDate] => Array
                        (
                        )

                    [productCondition] => 1
                    [preparingDay] => 2
                    [discount] => Array
                        (
                            [startDate] => Array
                                (
                                )

                            [endDate] => Array
                                (
                                )

                            [type] => Array
                                (
                                )

                            [value] => Array
                                (
                                )

                        )

                    [shipmentTemplate] => kargo-bizden
                    [stockItems] => Array
                        (
                            [stockItem] => Array
                                (
                                    [quantity] => 1
                                    [sellerStockCode] => Array
                                        (
                                        )

                                    [attributes] => Array
                                        (
                                            [attribute] => Array
                                                (
                                                    [name] => Array
                                                        (
                                                        )

                                                    [value] => Array
                                                        (
                                                        )

                                                )

                                        )

                                    [optionPrice] => Array
                                        (
                                        )

                                )

                        )

                )

            [1] => Array
                (
                    [productSellerCode] => MS-S010
                    [title] => 10 cm Samur Kase
                    [subtitle] => Stoktan hızlı kargo
                    [description] => Ölçü: 10 cmÜlkemizde, el işçiliği şeklinde üretilmiştir.
                    [category] => Array
                        (
                            [id] => 1016108
                        )

                    [price] => 31.426
                    [domestic] => false
                    [currencyType] => 1
                    [images] => Array
                        (
                            [image] => Array
                                (
                                    [url] => https://tuccar.com.tr/image/catalog/MS/MS-S009-1.jpg
                                    [order] => 1
                                )

                        )

                    [attributes] => Array
                        (
                            [attribute] => Array
                                (
                                    [0] => Array
                                        (
                                            [name] => Marka
                                            [value] => DİĞER
                                        )

                                    [1] => Array
                                        (
                                            [name] => Materyal
                                            [value] => Seramik
                                        )

                                )

                        )

                    [saleStartDate] => Array
                        (
                        )

                    [saleEndDate] => Array
                        (
                        )

                    [productionDate] => Array
                        (
                        )

                    [expirationDate] => Array
                        (
                        )

                    [productCondition] => 1
                    [preparingDay] => 3
                    [discount] => Array
                        (
                            [startDate] => Array
                                (
                                )

                            [endDate] => Array
                                (
                                )

                            [type] => Array
                                (
                                )

                            [value] => Array
                                (
                                )

                        )

                    [shipmentTemplate] => kargo-bizden
                    [stockItems] => Array
                        (
                            [stockItem] => Array
                                (
                                    [quantity] => 10
                                    [sellerStockCode] => Array
                                        (
                                        )

                                    [attributes] => Array
                                        (
                                            [attribute] => Array
                                                (
                                                    [name] => Array
                                                        (
                                                        )

                                                    [value] => Array
                                                        (
                                                        )

                                                )

                                        )

                                    [optionPrice] => Array
                                        (
                                        )

                                )

                        )

                )

我每次都想在此处发布一个数组块。

(
    [productSellerCode] => MS-S010
    [title] => 10 cm Samur Kase
    [subtitle] => Stoktan hızlı kargo
    [description] => Ölçü: 10 cmÜlkemizde, el işçiliği şeklinde üretilmiştir.
    [category] => Array
        (
            [id] => 1016108
        )

    [price] => 31.426
    [domestic] => false
    [currencyType] => 1
    [images] => Array
        (
            [image] => Array
                (
                    [url] => https://tuccar.com.tr/image/catalog/MS/MS-S009-1.jpg
                    [order] => 1
                )

        )

    [attributes] => Array
        (
            [attribute] => Array
                (
                    [0] => Array
                        (
                            [name] => Marka
                            [value] => DİĞER
                        )

                    [1] => Array
                        (
                            [name] => Materyal
                            [value] => Seramik
                        )

                )

        )

    [saleStartDate] => Array
        (
        )

    [saleEndDate] => Array
        (
        )

    [productionDate] => Array
        (
        )

    [expirationDate] => Array
        (
        )

    [productCondition] => 1
    [preparingDay] => 3
    [discount] => Array
        (
            [startDate] => Array
                (
                )

            [endDate] => Array
                (
                )

            [type] => Array
                (
                )

            [value] => Array
                (
                )

        )

    [shipmentTemplate] => kargo-bizden
    [stockItems] => Array
        (
            [stockItem] => Array
                (
                    [quantity] => 10
                    [sellerStockCode] => Array
                        (
                        )

                    [attributes] => Array
                        (
                            [attribute] => Array
                                (
                                    [name] => Array
                                        (
                                        )

                                    [value] => Array
                                        (
                                        )

                                )

                        )

                    [optionPrice] => Array
                        (
                        )

                )

        )

)

我认为我在foreach操作中犯了一个错误。我可以发送以下1个产品,我需要按顺序发送所有产品。

<?php
include "class.n11.php";
$n11Params = [
        'appKey' => 'my-api-key',
        'appSecret' => 'my-api-secret'
];
$n11 = new N11($n11Params);
$xmlfile = file_get_contents("https://tuccar.com.tr/API/n11/100urun.php"); 
$new = simplexml_load_string($xmlfile); 
$con = json_encode($new,JSON_UNESCAPED_UNICODE); 
$newArr = json_decode($con, true); 

foreach ($newArr as &$urun) {

    $productSellerCode = $urun[$i]->productSellerCode;
    $title = $urun[$i]->title;
    $description = $urun[$i]->description;
    $categoryid = $urun[$i]->category->id;
    $price = $urun[$i]->price;
    $preparingDay = $urun[$i]->preparingDay;
    $quantity = $urun[$i]->quantity;
    $saveProduct = $n11->SaveProduct(
                    [
                    'productSellerCode' => $productSellerCode,
                    'title' => $title,
                    'subtitle' => 'Stoktan hızlı kargo',
                    'description' => $description,
                    'category' =>
                    [
                        'id' => $categoryid
                    ],
                    'attributes' =>
                    [
                        'attribute' =>

                            foreach($urun->attributes as $attribute){
                                    'name' => $attribute['name'],
                                    'value' => $attribute['value']
                                    }
                    ],
                    'price' => $price,
                    'domestic' => false,
                    'currencyType' => 'TL',
                    'images' =>
                    [
                        'image' =>

                            foreach($urun->images as $image){
                                    'url' => $image['url'],
                                    'order' => $image['order']
                                    }
                    ],
                    'saleStartDate' => '',
                    'saleEndDate' => '',
                    'productionDate' => '',
                    'expirationDate' => '',
                    'productCondition' => '1',
                    'preparingDay' => $preparingDay,
                    'discount' => '',
                    'shipmentTemplate' => 'kargo-bizden',
                    'stockItems' =>
                    [
                        'stockItem' =>
                        [
                            'quantity' => $quantity,
                            'sellerStockCode' => '',
                            'attributes' =>
                            [
                                'attribute' => []
                            ],
                            'optionPrice' => ''
                        ]
                    ]
                ]
    );

} var_dump($saveProduct);

@@ RiggsFolly,它的工作方式是的,但是只发送了排名第一的产品。我无法执行循环。

<?php
	include "class.n11.php";
	$n11Params = ['appKey' => 'my-api-key', 'appSecret' => 'my-api-secret'];
	$n11 = new N11($n11Params);
	$xmlfile = file_get_contents("https://tuccar.com.tr/API/n11/100urun.php"); 
    $new = simplexml_load_string($xmlfile); 
    $con = json_encode($new,JSON_UNESCAPED_UNICODE); 
    $newArr = json_decode($con, true); 
	
 foreach ($newArr['product'] as $product) {
    $saveProduct = $n11->SaveProduct($product);
}
var_dump($saveProduct);
php arrays api foreach var-dump
1个回答
0
投票

[从头开始,从$newArr['product']开始向下一步进入数组,然后从该数组开始处理的每个数组都会有您要作为参数传递的数组。

© www.soinside.com 2019 - 2024. All rights reserved.