Mảng concat PHP

PHP có hai cách để nối các mảng;

concat nối thêm các thành viên của mảng đã cho vào cuối mảng đầu tiên

Hướng dẫn này trình bày cách nối hai hoặc nhiều mảng trong PHP

Liên kết mảng có thể nối hai hoặc nhiều mảng, nhưng các mảng phải là mảng kết hợp. Công đoàn không thể nối các mảng đơn giản

 'Jack', 2 => 'Shawn', 3 => 'Michelle');
$ac_array2 = array(4 => 'John', 1 => 'Joey', 6 => 'Maria');

$combined_array1 = $demo_array1 + $demo_array2;
$combined_array2 = $ac_array1 + $ac_array2;

echo "The values for simple array: 
"; foreach($combined_array1 as $value){ echo $value."
"; } echo "The values for associative array:
"; foreach($combined_array2 as $value){ echo $value."
"; } ?>

Trước tiên, đoạn mã trên cố gắng nối hai mảng đơn giản và kết hợp

Nếu khóa trong liên kết giống nhau tại bất kỳ điểm nào, phần tử đó sẽ không được thêm vào mảng mới

đầu ra

The values for simple array:
Jack
Shawn
Michelle
The values for associative array:
Jack
Shawn
Michelle
John
Maria

Như chúng ta có thể thấy, công đoàn không nối hai mảng đơn giản và, trong liên kết, đã xóa thành viên có cùng khóa

$array1 = array(
    'fruit' => 'apple',
    'vegetable' => 'carrot',
    'drink' => 'water',
    'snack' => 'chips'
);
$array2 = array(
    'fruit' => 'banana',
    'drink' => 'juice',
    'sport' => 'running'
);
3 là một hàm tích hợp trong PHP để hợp nhất nhiều mảng. Các tham số có thể là nhiều mảng như bạn muốn nối

 'Jack', 2 => 'Shawn', 3 => 'Michelle');
$ac_array2 = array(4 => 'John', 5 => 'Joey', 6 => 'Maria');
$ac_array3 = array(7 => 'Robert', 1 => 'Jimmy', 8 => 'Mike');

// concat arrays using array_merge

$combined_array1 = array_merge($demo_array1 , $demo_array2, $demo_array3) ;
$combined_array2 = array_merge($ac_array1 , $ac_array2, $ac_array3) ;

echo "The values for simple array: 
"; foreach($combined_array1 as $value){ echo $value."
"; } echo "The values for associative array:
"; foreach($combined_array2 as $value){ echo $value."
"; } ?>

Đoạn mã trên cố gắng nối một bộ ba mảng đơn giản và một bộ ba mảng kết hợp

$array1 = array(
    'fruit' => 'apple',
    'vegetable' => 'carrot',
    'drink' => 'water',
    'snack' => 'chips'
);
$array2 = array(
    'fruit' => 'banana',
    'drink' => 'juice',
    'sport' => 'running'
);
2 sẽ nối các mảng bất kể loại của chúng.
$array1 = array(
    'fruit' => 'apple',
    'vegetable' => 'carrot',
    'drink' => 'water',
    'snack' => 'chips'
);
$array2 = array(
    'fruit' => 'banana',
    'drink' => 'juice',
    'sport' => 'running'
);
2 sẽ giữ tất cả các phần tử, không giống như công đoàn

Tôi đang làm một công việc mới và điều thú vị khi làm việc với mã của người khác là bạn thường học được rất nhiều thứ mà bạn chưa biết. Một vài tuần trước, tôi đã tìm ra một cách để hợp nhất các mảng trong PHP bằng toán tử +, thay vì sử dụng các hàm mảng (e. g. array_merge) vì vậy hãy chia sẻ cái này tại đây

Thí dụ

Cách dễ nhất để minh họa điều này là với một ví dụ

Sử dụng toán tử cộng để hợp nhất một mảng thực sự hoạt động tốt nhất với một mảng kết hợp, nếu không, nó sẽ hợp nhất trên các chỉ mục được đánh số, điều này có thể dẫn đến một số kết quả không mong muốn hoặc kỳ lạ

Đây là một vài mảng, với một số phần tử giao nhau và một số phần tử khác nhau

$array1 = array(
    'fruit' => 'apple',
    'vegetable' => 'carrot',
    'drink' => 'water',
    'snack' => 'chips'
);
$array2 = array(
    'fruit' => 'banana',
    'drink' => 'juice',
    'sport' => 'running'
);

Thứ tự ưu tiên khi sử dụng toán tử + để hợp nhất các mảng này là từ trái sang phải. Vì vậy, nếu chúng ta thêm $array1 và $array2 như vậy, 'apple' sẽ được ưu tiên hơn 'banana' đối với phần tử trái cây

Array_merge() là một hàm dựng sẵn trong PHP và được sử dụng để hợp nhất hai hoặc nhiều mảng thành một mảng duy nhất. Hàm này được sử dụng để hợp nhất các phần tử hoặc giá trị của hai hoặc nhiều mảng lại với nhau thành một mảng duy nhất. Việc hợp nhất xảy ra theo cách mà các giá trị của một mảng được thêm vào cuối mảng trước đó. Hàm lấy danh sách các mảng được phân tách bằng dấu phẩy làm tham số cần được hợp nhất và trả về một mảng mới với các giá trị đã hợp nhất của các mảng được truyền trong tham số

cú pháp

array array_merge($array1, $array2, ......, $arrayn)

Thông số. Hàm array_merge() lấy một danh sách các mảng được phân tách bằng dấu phẩy làm tham số cần được hợp nhất như trong cú pháp. Có n mảng (($array1, $array2, ……, $arrayn) cách nhau bởi dấu (‘,’) trong cú pháp. Chúng ta có thể chuyển bất kỳ số lượng mảng nào trong tham số

Giá trị trả về. Nó trả về một mảng mới trong đó các phần tử của tất cả các mảng được truyền trong tham số được hợp nhất sao cho các giá trị của một mảng được thêm vào cuối mảng trước đó

Các chương trình dưới đây minh họa hoạt động của hàm array_merge() trong PHP

  • Hợp nhất hai mảng đơn giản. Khi hai mảng nữa được chuyển đến hàm array_merge() thì các giá trị của một mảng được thêm vào cuối mảng trước đó. Nếu hai phần tử có cùng khóa chuỗi thì giá trị sau sẽ bị ghi đè. Các phím số nguyên sẽ được đánh số lại bắt đầu từ số không. Để hợp nhất hai mảng, hàm array_merge() có thể được thực hiện theo cách sau




    $array1 = array(
        'fruit' => 'apple',
        'vegetable' => 'carrot',
        'drink' => 'water',
        'snack' => 'chips'
    );
    $array2 = array(
        'fruit' => 'banana',
        'drink' => 'juice',
        'sport' => 'running'
    );
    
    6

    $array1 = array(
        'fruit' => 'apple',
        'vegetable' => 'carrot',
        'drink' => 'water',
        'snack' => 'chips'
    );
    $array2 = array(
        'fruit' => 'banana',
        'drink' => 'juice',
        'sport' => 'running'
    );
    
    7

    $array1 = array(
        'fruit' => 'apple',
        'vegetable' => 'carrot',
        'drink' => 'water',
        'snack' => 'chips'
    );
    $array2 = array(
        'fruit' => 'banana',
        'drink' => 'juice',
        'sport' => 'running'
    );
    
    8
    $array1 = array(
        'fruit' => 'apple',
        'vegetable' => 'carrot',
        'drink' => 'water',
        'snack' => 'chips'
    );
    $array2 = array(
        'fruit' => 'banana',
        'drink' => 'juice',
        'sport' => 'running'
    );
    
    9
    array array_merge($array1, $array2, ......, $arrayn)
    0
    array array_merge($array1, $array2, ......, $arrayn)
    1
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    0
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    1
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    2
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    3

    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    4
    $array1 = array(
        'fruit' => 'apple',
        'vegetable' => 'carrot',
        'drink' => 'water',
        'snack' => 'chips'
    );
    $array2 = array(
        'fruit' => 'banana',
        'drink' => 'juice',
        'sport' => 'running'
    );
    
    9
    array array_merge($array1, $array2, ......, $arrayn)
    0
    array array_merge($array1, $array2, ......, $arrayn)
    1
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    8
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    9
    The values for simple array:
    Jack
    Shawn
    Michelle
    The values for associative array:
    Jack
    Shawn
    Michelle
    John
    Maria
    
    20
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    9
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    0
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    1
    The values for simple array:
    Jack
    Shawn
    Michelle
    The values for associative array:
    Jack
    Shawn
    Michelle
    John
    Maria
    
    24
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    9

    The values for simple array:
    Jack
    Shawn
    Michelle
    The values for associative array:
    Jack
    Shawn
    Michelle
    John
    Maria
    
    26
    The values for simple array:
    Jack
    Shawn
    Michelle
    The values for associative array:
    Jack
    Shawn
    Michelle
    John
    Maria
    
    27
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    1____129
     'Jack', 2 => 'Shawn', 3 => 'Michelle');
    $ac_array2 = array(4 => 'John', 5 => 'Joey', 6 => 'Maria');
    $ac_array3 = array(7 => 'Robert', 1 => 'Jimmy', 8 => 'Mike');
    
    // concat arrays using array_merge
    
    $combined_array1 = array_merge($demo_array1 , $demo_array2, $demo_array3) ;
    $combined_array2 = array_merge($ac_array1 , $ac_array2, $ac_array3) ;
    
    echo "The values for simple array: 
    "; foreach($combined_array1 as $value){ echo $value."
    "; } echo "The values for associative array:
    "; foreach($combined_array2 as $value){ echo $value."
    "; } ?>
    20

     'Jack', 2 => 'Shawn', 3 => 'Michelle');
    $ac_array2 = array(4 => 'John', 5 => 'Joey', 6 => 'Maria');
    $ac_array3 = array(7 => 'Robert', 1 => 'Jimmy', 8 => 'Mike');
    
    // concat arrays using array_merge
    
    $combined_array1 = array_merge($demo_array1 , $demo_array2, $demo_array3) ;
    $combined_array2 = array_merge($ac_array1 , $ac_array2, $ac_array3) ;
    
    echo "The values for simple array: 
    "; foreach($combined_array1 as $value){ echo $value."
    "; } echo "The values for associative array:
    "; foreach($combined_array2 as $value){ echo $value."
    "; } ?>
    21
    $array1 = array(
        'fruit' => 'apple',
        'vegetable' => 'carrot',
        'drink' => 'water',
        'snack' => 'chips'
    );
    $array2 = array(
        'fruit' => 'banana',
        'drink' => 'juice',
        'sport' => 'running'
    );
    
    9
     'Jack', 2 => 'Shawn', 3 => 'Michelle');
    $ac_array2 = array(4 => 'John', 5 => 'Joey', 6 => 'Maria');
    $ac_array3 = array(7 => 'Robert', 1 => 'Jimmy', 8 => 'Mike');
    
    // concat arrays using array_merge
    
    $combined_array1 = array_merge($demo_array1 , $demo_array2, $demo_array3) ;
    $combined_array2 = array_merge($ac_array1 , $ac_array2, $ac_array3) ;
    
    echo "The values for simple array: 
    "; foreach($combined_array1 as $value){ echo $value."
    "; } echo "The values for associative array:
    "; foreach($combined_array2 as $value){ echo $value."
    "; } ?>
    23____41____38
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    9
    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    
    4
     'Jack', 2 => 'Shawn', 3 => 'Michelle');
    $ac_array2 = array(4 => 'John', 5 => 'Joey', 6 => 'Maria');
    $ac_array3 = array(7 => 'Robert', 1 => 'Jimmy', 8 => 'Mike');
    
    // concat arrays using array_merge
    
    $combined_array1 = array_merge($demo_array1 , $demo_array2, $demo_array3) ;
    $combined_array2 = array_merge($ac_array1 , $ac_array2, $ac_array3) ;
    
    echo "The values for simple array: 
    "; foreach($combined_array1 as $value){ echo $value."
    "; } echo "The values for associative array:
    "; foreach($combined_array2 as $value){ echo $value."
    "; } ?>
    28

    $array1 = array(
        'fruit' => 'apple',
        'vegetable' => 'carrot',
        'drink' => 'water',
        'snack' => 'chips'
    );
    $array2 = array(
        'fruit' => 'banana',
        'drink' => 'juice',
        'sport' => 'running'
    );
    
    7

    $array1 = array(
        'fruit' => 'apple',
        'vegetable' => 'carrot',
        'drink' => 'water',
        'snack' => 'chips'
    );
    $array2 = array(
        'fruit' => 'banana',
        'drink' => 'juice',
        'sport' => 'running'
    );
    
    60
     'Jack', 2 => 'Shawn', 3 => 'Michelle');
    $ac_array2 = array(4 => 'John', 5 => 'Joey', 6 => 'Maria');
    $ac_array3 = array(7 => 'Robert', 1 => 'Jimmy', 8 => 'Mike');
    
    // concat arrays using array_merge
    
    $combined_array1 = array_merge($demo_array1 , $demo_array2, $demo_array3) ;
    $combined_array2 = array_merge($ac_array1 , $ac_array2, $ac_array3) ;
    
    echo "The values for simple array: 
    "; foreach($combined_array1 as $value){ echo $value."
    "; } echo "The values for associative array:
    "; foreach($combined_array2 as $value){ echo $value."
    "; } ?>
    21____228

    $array1 = array(
        'fruit' => 'apple',
        'vegetable' => 'carrot',
        'drink' => 'water',
        'snack' => 'chips'
    );
    $array2 = array(
        'fruit' => 'banana',
        'drink' => 'juice',
        'sport' => 'running'
    );
    
    7

    $array1 = array(
        'fruit' => 'apple',
        'vegetable' => 'carrot',
        'drink' => 'water',
        'snack' => 'chips'
    );
    $array2 = array(
        'fruit' => 'banana',
        'drink' => 'juice',
        'sport' => 'running'
    );
    
    64

    đầu ra

    Array
    (
        [size] => medium
        [0] => 2
        [1] => 3
        [2] => a
        [3] => b
        [shape] => circle
        [4] => 4
    )
    

    Ghi chú. Nếu các mảng đầu vào chứa các khóa chuỗi giống nhau, thì giá trị sau của khóa đó sẽ ghi đè lên giá trị trước đó

    Làm cách nào để nối một mảng trong PHP?

    Hàm array_merge() trong PHP .
    Hợp nhất hai mảng thành một mảng. $a1=mảng("đỏ","xanh"); .
    Hợp nhất hai mảng kết hợp thành một mảng. $a1=array("a"=>"đỏ","b"=>"xanh"); .
    Chỉ sử dụng một tham số mảng với các khóa số nguyên. $a=array(3=>"đỏ",4=>"xanh");

    Làm cách nào để kết hợp 3 mảng thành một PHP?

    Làm cách nào để kết hợp ba mảng trở lên trong php? .
    mảng array_merge( mảng $array1[, mảng $. ]]
    - Nếu các mảng có khóa chuỗi giống nhau, giá trị cuối cùng của khóa đó sẽ ghi đè lên giá trị trước đó
    - Nếu mảng chứa các phím số thì giá trị sau sẽ không ghi đè lên giá trị ban đầu mà sẽ được thêm vào
    Vật mẫu

    += có hoạt động trên các mảng trong PHP không?

    Toán tử + trong PHP khi được áp dụng cho mảng sẽ thực hiện công việc của mảng UNION . mảng $arr += mảng $arr1; .

    Làm cách nào để sử dụng hàm Array_combine trong PHP?

    Hàm array_combine() tạo một mảng bằng cách sử dụng các phần tử từ một mảng "khóa" và một mảng "giá trị" . Ghi chú. Cả hai mảng phải có số phần tử bằng nhau.