PHP에서 배열에 배열 추가
-
for
및foreach
루프를 사용하여 PHP에서 배열에 배열 추가 -
array_merge()
함수를 사용하여 PHP에서 배열에 배열 추가 -
array_push()
함수를 사용하여 PHP에서 배열에 배열 추가
배열에는 종종 더 빠른 반복 및 데이터 관리를 위해 동일한 데이터 유형의 일련의 인덱싱된 요소가 포함됩니다.
일반적으로 배열 요소에 액세스하려면 배열을 반복합니다. 예를 들어, PHP 애플리케이션에서 배열은 등록 양식의 데이터를 보유할 수 있고 다른 배열은 계정 세부 정보 섹션의 데이터를 보유할 수 있습니다. 하나의 시퀀스에서 두 배열을 모두 사용하려면 두 배열을 모두 추가해야 합니다. 이를 달성하려면 두 번째 배열을 첫 번째 배열에 추가해야 하며 다른 함수는 다르게 동작합니다.
이 자습서에서는 두 개의 배열을 함께 추가하여 PHP에서 하나의 배열을 형성하는 다양한 방법에 대해 설명합니다.
for
및 foreach
루프를 사용하여 PHP에서 배열에 배열 추가
배열을 다른 배열에 추가하는 간단한 방법은 두 번째 배열을 선택하고 모든 요소를 반복하고 각 요소를 첫 번째 배열에 추가하는 것입니다. 그러나 이 특정 솔루션은 더 큰 어레이에 대해 다소 길고 비효율적입니다.
$container = ["hair extension", "scissors"];
$shopping_lists = ["hair cream", "hair fryer", "makeup set"];
for($index = 0; $index < count($shopping_lists ); $index++){
array_push($container, $shopping_lists[$index]);
}
print_r($container)
출력:
Array
(
[0] hair extension
[1] scissors
[2] hair cream
[3] hair fryer
[4] makeup set
)
true
또한 연관 배열에 동일한 접근 방식을 적용할 수 있습니다. 그러나 동일한 비효율성과 복잡성이 따릅니다.
$customer = array(
"name" => "Garner",
"email" => "g.abded@gmail.com",
"age" => 34,
"gender" => "female",
"account_type" => "starter"
);
$account = array(
"current_course" => "Ruby Crash Course",
"payment_channel" => "Stripe",
"browser" => "Edge"
);
foreach($account as $key => $value) {
$customer[$key] = $value;
}
print_r($customer)
출력:
Array
(
[name] Garner
[email] g.abded@gmail.com
[age] 34
[gender] female
[account_type] starter
[current_course] Ruby Crash Course
[payment_channel] Stripe
[browser] Edge
)
true
array_merge()
함수를 사용하여 PHP에서 배열에 배열 추가
array_merge()
함수는 두 개 이상의 배열을 병합하고 한 배열의 요소를 이전 배열의 끝에 추가하는 식으로 마지막 배열까지 추가합니다. 이 함수는 색인, 연관 및 다차원 배열에서 작동합니다. 이전 방법과 달리 이 접근 방식은 새 배열을 만들고 첫 번째 배열에 추가하지 않습니다.
이 방법은 여러 어레이에서 사용할 수 있습니다. 더 자세하게는 이 접근 방식을 사용하여 키-값 쌍(연관 배열)을 서로 추가하여 하나의 단일 배열을 형성할 수 있습니다. 인덱스 배열도 마찬가지입니다.
$details = [
"name" => "Clement",
"email" => "clement@gmail.com",
"gender" => "male"
];
$accounts = [
"card" => "mastercard",
"processor" => "stripe",
"pro" => True
];
$account_details = array_merge($details, $accounts);
print_r($account_details);
출력:
Array
(
[name] Clement
[email] clement@gmail.com
[gender] male
[card] mastercard
[processor] stripe
[pro] 1
)
true
세 개의 어레이에서 array_merge()
함수를 사용하는 방법은 다음과 같습니다.
$details = [
"name" => "Clement",
"email" => "clement@gmail.com",
"gender" => "male"
];
$accounts = [
"card" => "mastercard",
"processor" => "stripe",
"pro" => True
];
$functions = [
"movies" => "inferno"
];
$account_details = array_merge($details, $accounts, $functions);
print_r($account_details);
출력:
Array
(
[name] Clement
[email] clement@gmail.com
[gender] male
[card] mastercard
[processor] stripe
[pro] 1
[movies] inferno
)
true
이 방법은 모든 PHP 7.0 버전 이상과 호환됩니다.
array_push()
함수를 사용하여 PHP에서 배열에 배열 추가
array_push()
함수는 배열을 스택(LIFO)처럼 배열의 끝으로 푸시합니다. 이 함수를 사용하여 연관 배열에 인덱스 배열을 추가할 수 있으며 연관 배열에 푸시된 인덱스 배열에 대한 숫자 인덱스가 자동으로 생성됩니다. 두 개의 인덱스 배열이 푸시되면 첫 번째 인덱스 배열은 숫자 인덱스 0을 보유하고 두 번째 인덱스 배열은 숫자 인덱스 1을 보유합니다. N 배열
이 푸시된 경우 숫자 인덱스는 N-1
이 됩니다.
또한 인덱스 배열을 인덱스 배열로 푸시하고 연관 배열을 연관 배열로 푸시할 수 있습니다.
$basic_data = ['Location' => 'Mumbai', 'Tier' => 'Three'];
$tools = ['Geology', 'Machine Learning'];
$BD_Tools = array_push($basic_data, $tools);
print_r($basic_data);
출력:
Array
(
[Location] Mumbai
[Tier] Three
[0] Array
(
[0] Geology
[1] Machine Learning
)
)
true
또한 array_push()
함수 내에서 ...
연산자를 사용하여 푸시된 배열 내의 모든 요소가 모두 하나가 아닌 고유한 숫자 인덱스를 가질 수 있도록 합니다.
$basic_data = ['Location' => 'Mumbai', 'Tier' => 'Three'];
$tools = ['Geology', 'Machine Learning'];
$BD_Tools = array_push($basic_data, ...$tools);
print_r($basic_data);
출력:
Array
(
[Location] Mumbai
[Tier] Three
[0] Geology
[1] Machine Learning
)
true
연관 배열 푸시 작업의 경우 ...
연산자를 사용할 수 없습니다. 오류가 발생하기 때문입니다.
TypeError: array_push()는 알 수 없는 명명된 매개변수 null을 허용하지 않습니다.
따라서 array_push()
함수를 두 개 이상의 배열과 함께 사용하는 유일한 방법은 기본 수단을 통하는 것입니다.
$basic_data = ['Location' => 'Mumbai', 'Tier' => 'Three'];
$tools = ['Course' => 'Geology', 'Approach' => 'Machine Learning'];
$BD_Tools = array_push($basic_data, $tools);
print_r($basic_data);
출력:
Array
(
[Location] Mumbai
[Tier] Three
[0] Array
(
[Course] Geology
[Approach] Machine Learning
)
)
true
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn