2 /* Prototype : array array_merge(array $arr1, array $arr2 [, array $...])
3 * Description: Merges elements from passed arrays into one array
4 * Source code: ext/standard/array.c
8 * Pass an array with different data types as keys to test how array_merge
9 * adds it onto an existing array
11 <<__EntryPoint
>> function main(): void
{
12 echo "*** Testing array_merge() : usage variations ***\n";
14 // Initialise function arguments not being substituted
15 $arr = array ('one' => 1, 'two' => 2);
17 //get an unset variable
26 // arrays with keys as different data types to be passed as $input
38 /*2*/ 'float' => array(
44 /*3*/ 'extreme floats' => array(
45 12.3456789000e10
=> 'large',
46 12.3456789000E-10 => 'small',
50 /*4*/ 'null uppercase' => array(
54 /*5*/ 'null lowercase' => array(
59 /*6*/ 'bool lowercase' => array(
64 /*7*/ 'bool uppercase' => array(
70 /*8*/ 'empty double quotes' => array(
74 /*9*/ 'empty single quotes' => array(
79 /*10*/ 'string' => array(
80 "stringd" => 'stringd',
81 'strings' => 'strings',
82 $heredoc => 'stringh',
86 /*11*/ 'undefined' => array(
87 @$undefined_var => 'undefined',
91 /*12*/ 'unset' => array(
92 @$unset_var => 'unset',
96 // loop through each element of $inputs to check the behavior of array_merge
98 foreach($inputs as $key => $input) {
99 echo "\n-- Iteration $iterator: $key data --\n";
100 var_dump( array_merge($input, $arr) );
101 var_dump( array_merge($arr, $input) );