전자 상거래 개발에서 주문 정보를 처리 할 때 종종 제품 ID와 같은 주문 배열에서 특정 데이터를 추출해야합니다. PHP는 매우 실용적인 기능 array_column ()을 제공하며, 다차원 배열에서 데이터 열을 쉽게 추출 할 수 있습니다. 이 기사는 array_column () 함수를 사용하여 전자 상거래 순서로 제품 ID를 신속하게 추출하는 방법을 보여줍니다.
Array_Column () 함수는 PHP에 내장 된 배열 작동 함수이며, 다차원 배열에서 데이터 열에서 데이터를 추출하는 데 사용됩니다. 이 기능의 기본 구문은 다음과 같습니다.
array_column(array $input, mixed $column_key, mixed $index_key = null): array
$ 입력 : 작동 할 입력 배열.
$ column_key : 추출 된 열 이름 (배열의 키 이름 일 수 있음).
$ index_key : 선택 사항, 결과 배열의 색인.
이 함수는 추출 된 열이 포함 된 배열을 반환합니다.
전자 상거래 주문 데이터 세트가 있고 각 순서에 여러 항목이 포함되어 있으며 목표는 이러한 항목의 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 () 함수를 사용하여 추출 할 수 있습니다.
$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
)
)
각 순서의 배열 구조를 유지하는 대신 모든 주문의 항목 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를 성공적으로 추출하여 평평한 배열로 병합했습니다.
주문 데이터가 원격 인터페이스 또는 API에서 나오면 file_get_contents () 또는 Curl을 사용하여 데이터를 얻을 수 있습니다. 예를 들어, 주문 데이터가 URL https://m66.net/api/orders 와 함께 API에서 나온다고 가정하면 다음 코드를 통해 주문 데이터를 가져와 항목 ID를 추출 할 수 있습니다.