現在の位置: ホーム> 最新記事一覧> 電子商取引注文から製品IDをすばやく抽出します

電子商取引注文から製品IDをすばやく抽出します

M66 2025-06-07

eコマース開発では、注文情報を処理する場合、製品IDなどの注文配列から特定のデータを抽出する必要があります。 PHPは非常に実用的な関数Array_Column()を提供します。これにより、多次元配列からデータの列を簡単に抽出できます。この記事では、Array_Column()関数を使用して、eコマースの順序で製品IDをすばやく抽出する方法を例で示します。

1。array_column ()関数の紹介

Array_Column()関数は、PHPに組み込まれた配列操作関数であり、マルチデミソンアレイからデータの列からデータを抽出するために使用されます。この関数の基本的な構文は次のとおりです。

 array_column(array $input, mixed $column_key, mixed $index_key = null): array
  • $入力:操作する入力配列。

  • $ column_key :抽出された列名(配列のキー名にすることができます)。

  • $ index_key :オプション、結果配列のインデックス。

この関数は、抽出された列を含む配列を返します。

2。例:電子商取引注文から製品IDを抽出する

eコマースの注文データのセットがあり、各注文には複数のアイテムが含まれており、これらのアイテムのIDを抽出することが目標であるとします。

サンプル注文データ:

 $orders = [
    [
        'order_id' => 'A123',
        'items' => [
            ['product_id' => 1001, 'quantity' => 2],
            ['product_id' => 1002, 'quantity' => 1],
        ],
    ],
    [
        'order_id' => 'B456',
        'items' => [
            ['product_id' => 1003, 'quantity' => 3],
            ['product_id' => 1004, 'quantity' => 1],
        ],
    ],
];

私たちの目標は、各注文からアイテムIDを抽出することです。 array_column()関数を使用して抽出できます。

製品IDコードを抽出します:

 $productIds = [];

foreach ($orders as $order) {
    $productIds[] = array_column($order['items'], 'product_id');
}

print_r($productIds);

結果出力:

 Array
(
    [0] => Array
        (
            [0] => 1001
            [1] => 1002
        )
    [1] => Array
        (
            [0] => 1003
            [1] => 1004
        )
)

3.すべての製品IDをフラット配列として抽出します

各注文の配列構造を保持する代わりに、すべての注文のアイテムIDをフラット配列にマージする場合は、 array_merge()関数を使用して実装できます。

 $productIds = [];

foreach ($orders as $order) {
    $productIds = array_merge($productIds, array_column($order['items'], 'product_id'));
}

print_r($productIds);

結果出力:

 Array
(
    [0] => 1001
    [1] => 1002
    [2] => 1003
    [3] => 1004
)

上記のコードを介して、すべての注文でアイテムIDを正常に抽出し、それらをフラット配列に統合しました。

4. URLを注文データソースとして使用(例)

注文データがリモートインターフェイスまたはAPIから届く場合、 file_get_contents()またはcurlを使用してデータを取得できます。たとえば、注文データがURL https://m66.net/api/ordersを備えたAPIから来ているとします。次のコードで注文データを取得し、アイテムIDを抽出できます。