We use array merge and combine to join two or more lists into one. This helps us organize and work with data easily.
Array merge and combine in PHP
<?php // Merge arrays $mergedArray = array_merge($array1, $array2); // Combine arrays (keys and values) $combinedArray = array_combine($keysArray, $valuesArray); ?>
array_merge joins arrays by adding elements from the second array to the first.
array_combine creates a new array using one array for keys and another for values. Both arrays must have the same number of elements.
<?php $array1 = ["apple", "banana"]; $array2 = ["cherry", "date"]; $merged = array_merge($array1, $array2); print_r($merged); ?>
<?php $keys = ["a", "b", "c"]; $values = [1, 2, 3]; $combined = array_combine($keys, $values); print_r($combined); ?>
<?php // Edge case: empty arrays $empty1 = []; $empty2 = []; $mergedEmpty = array_merge($empty1, $empty2); print_r($mergedEmpty); ?>
<?php // Edge case: one element arrays $oneKey = ["x"]; $oneValue = [42]; $combinedOne = array_combine($oneKey, $oneValue); print_r($combinedOne); ?>
This program shows how to merge two fruit lists and how to combine keys and values into an associative array.
<?php // Create two arrays $fruits1 = ["apple", "banana"]; $fruits2 = ["cherry", "date"]; // Show original arrays echo "Original arrays:\n"; print_r($fruits1); print_r($fruits2); // Merge arrays $allFruits = array_merge($fruits1, $fruits2); echo "\nAfter merging:\n"; print_r($allFruits); // Create keys and values arrays $keys = ["first", "second", "third"]; $values = ["red", "green", "blue"]; // Show keys and values echo "\nKeys and values arrays:\n"; print_r($keys); print_r($values); // Combine keys and values $colorMap = array_combine($keys, $values); echo "\nAfter combining keys and values:\n"; print_r($colorMap); ?>
Time complexity: array_merge runs in O(n + m) where n and m are the sizes of the arrays.
Space complexity: Both functions create new arrays, so space grows with input size.
Common mistake: Using array_combine with arrays of different lengths causes an error.
Use array_merge when you want to join lists. Use array_combine when you want to create key-value pairs.
array_merge joins two or more arrays into one list.
array_combine creates an associative array from two lists: one for keys, one for values.
Both are useful to organize and work with data in PHP.
Practice
array_merge do?Solution
Step 1: Understand the purpose of array_merge
The functionarray_mergetakes multiple arrays and joins their elements into a single array.Step 2: Compare with other functions
array_combinecreates key-value pairs, sorting and removing duplicates are different functions.Final Answer:
Joins two or more arrays into one combined array -> Option BQuick Check:
array_merge joins arrays = B [OK]
- Confusing array_merge with array_combine
- Thinking array_merge sorts arrays
- Assuming array_merge removes duplicates
array_combine?Solution
Step 1: Recall array_combine parameter order
The first parameter is the array of keys, the second is the array of values.Step 2: Check each option
array_combine($keys, $values); correctly usesarray_combine($keys, $values);. array_combine($values, $keys); reverses parameters, C uses wrong function, D misses second parameter.Final Answer:
array_combine($keys, $values); -> Option CQuick Check:
Keys first, values second in array_combine = A [OK]
- Swapping keys and values parameters
- Using array_merge instead of array_combine
- Missing one of the required parameters
$a = [1, 2]; $b = [3, 4]; $result = array_merge($a, $b); print_r($result);
Solution
Step 1: Understand array_merge behavior
array_merge joins arrays by appending elements of second array to first, preserving order.Step 2: Apply to given arrays
$a = [1, 2], $b = [3, 4], merged result is [1, 2, 3, 4].Final Answer:
[1, 2, 3, 4] -> Option AQuick Check:
array_merge appends arrays = [1, 2, 3, 4] [OK]
- Thinking array_merge sorts or combines keys
- Confusing output with associative array
- Expecting keys to be preserved as in original arrays
$keys = ['a', 'b']; $values = [1]; $result = array_combine($keys, $values); print_r($result);
Solution
Step 1: Check array_combine requirements
array_combine requires both arrays to have equal length to pair keys and values correctly.Step 2: Analyze given arrays
$keys has 2 elements, $values has 1 element, causing an error.Final Answer:
array_combine requires both arrays to have the same number of elements -> Option DQuick Check:
Equal length arrays needed for array_combine = D [OK]
- Ignoring array length mismatch
- Thinking array_combine works with one array
- Confusing array_combine with array_merge
$keys = ['name', 'age', 'city'];$values = ['Alice', 30, 'Paris'];Which PHP code correctly creates an associative array and then merges it with
['country' => 'France']?Solution
Step 1: Create associative array from keys and values
Usearray_combine($keys, $values)to pair keys with values correctly.Step 2: Merge associative array with another array
Usearray_mergeto add the 'country' key-value pair to the associative array.Step 3: Check other options for errors
$assoc = array_merge($keys, $values); $final = array_combine($assoc, ['country' => 'France']); swaps functions incorrectly, C uses wrong parameter count, D swaps keys and values.Final Answer:
$assoc = array_combine($keys, $values); $final = array_merge($assoc, ['country' => 'France']); -> Option AQuick Check:
Combine keys-values, then merge extra array = A [OK]
- Swapping keys and values in array_combine
- Trying to combine more than two arrays at once
- Using array_merge before array_combine
Ready to prove it?
Pass the test and this pattern moves unknown
