"; // Tuesday ?> "; // assign arrray elements to variables with list() list($a, $b, $c) = $animals; echo "
with list() --- " . $a . " " . $b . " " . $c . "
"; ?>
"; ?> 'January', 'feb' => 'February', 'mar' => 'March'); // both create an array where the value stored in each element can be referenced using its key name echo $months['jan']."
"; // January ?> --- display \$somearray as array ---
"); print_r($somearray); // print_r() displays information stored in a variable print("
--- display \$somearray as string ---
"); $ss = print_r($somearray, true); print("$ss
"); // print_r(var_name, return_output) // var_name -- variable to be printed // return_output -- optional parameter, // default FALSE, no return // TRUE, no display, return as string // array_values() returns an (indexed) array of values // array_keys() returns an (indexed) array of keys print("
--- array_values(somearray) ---
"); print_r(array_values($somearray)); print("
--- array_keys(somearray) ---
"); print_r(array_keys($somearray)); // array_flip() exchanges keys with values print("
--- array_flip(somearray) ---
"); print_r(array_flip($somearray)); print("

"); ?> 11, 'b' => 22, 'c' => 33]; $array2 = ['a' => 'aaa', 'c' => 'ccc', 'b' => 'bbb', 'd' => 'ddd']; print("
--- array_merge(somearray1, somearray2, ...) ---
"); $merge = array_merge($array1, $array2); print_r($merge); print("
"); ?> --- array_diff(somearray1, somearray2, ...) ---
"); print("original array1 = "); print_r($array1); print("
original array2 = "); print_r($array2); print("
"); $diff = array_diff($array1, $array2); print("diff --- remove array2's elements out of array1 = "); print_r($diff); print("
"); ?> --- array_intersect(somearray1, somearray2, ...) ---
"); print("original array1 = "); print_r($array1); print("
original array2 = "); print_r($array2); print("
"); $intersect = array_intersect($array1, $array2); print("intersect array1 and array2 = "); print_r($intersect); print("
"); ?> traversing array
"); $days = array('Monday', 'Tuesday', 'Wednesday'); foreach ($days as $value) { echo '• '. $value.'
'; } $months = array('jan' => 'January', 'feb' => 'February', 'mar' => 'March'); foreach ($months as $value) { echo '• '. $value.'
'; } foreach ($months as $key => $value) { echo $key .'=>'. $value .'
'; } ?> --- using list() with foreach ---
"; $some_numbers = [[1,2], [3, 4], [5, 6]]; foreach ($some_numbers as list($a, $b)) { $total = $a + $b; echo "$a + $b = $total
"; } ?> --- slice an array with array_slice(array_to_slice, start_index, length) ---
"; $days = array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'); $workdays = array_slice($days, 1, 5); print_r($workdays); echo "
"; ?> 'Viper', 'Chevrolet' => 'Camaro', 'Ford' => 'Mustang'); echo "
"; echo "sizeof(\$cars) = " . sizeof($cars); echo "
"; echo "Original element order
    "; foreach ($cars as $key => $value) { echo '  • '. $key . " " . $value; } echo "
"; echo "Sorted into value order
    "; asort($cars); // sort by value, ascending foreach ($cars as $key => $value) { echo '  • '. $key . " " . $value; } echo "
"; echo "Sorted into key order
    "; ksort($cars); // sort by key, ascending foreach ($cars as $key => $value) { echo '  • '. $key . " " . $value; } ?> $letters, 'Number' => $numbers); print("

--- multi-dimensional array ---
"); print_r($matrix); // access individual item echo "

"; echo $matrix['Letter'][0] . "
"; // To use an array variable as part of a mixed string, // if an array variable uses quoted keys, // must enclose the array variable within curly braces echo "(mix with string) Element value is {$matrix['Letter'][0]}"; echo '

'; foreach ($matrix as $matrix_key => $matrix_value) { echo '$matrix_key =' . $matrix_key . ', sizeof($matrix_value) =' . sizeof($matrix_value) . ' -- values in this row of the matrix
'; foreach ($matrix_value as $key => $value) echo '     •  ' . $matrix_key .'[' . $key .'] = '. $matrix_value[$key] .'
'; } // echo "

"; // foreach ($matrix as $matrix_key => $matrix_value) // { // foreach ($matrix_value as $key => $value) // echo $matrix_key .'[' . $key .'] = '. $matrix_value[$key] .'
'; // } ?> --- filtering an array ---
"); // filter an array // array_filter(somearray, callback_function) // applies the given callback_function to filter the array // returns a filtered array $numbers = [1, 21, 13, 4, 5, -4, 99, 0]; print("original array --- "); print_r($numbers); print("
filter, keep only odd numbers --- "); function is_odd($n) { return ($n % 2 == 1); } print_r(array_filter($numbers, "is_odd")); // another example, using anonymous function print("
filter, using anonymous function, keep only even numbers --- "); $even = array_filter($numbers, function($n) { return ($n % 2 == 0); }); print_r($even); print("
"); ?> --- get only unique values from an array ---
"); $numbers = [1, 99, 1, 3, 4, 4, 5, 3, 4, 6]; $uniques = array_unique($numbers); print_r($uniques); print("
--- another unique value array example ---
"); $letters = ['aa', 'aa', 'b', 'a', 'c', 'bb', 'b']; print_r(array_unique($letters)); print("
"); ?> --- apply map function to array ---
"); print_r($squares); ?> --- use array_walk() to modify the array ---
"); $months = ['jan' => 'January', 'feb' => 'February', 'mar' => 'March']; print("original array = "); print_r($months); array_walk($months, function(&$v, $k) { $v = "$k is for $v"; }); // notice the callback function, an array is passed by reference // Therefore, no new array is created. // The callback function changes the values of the array print("
modified array's values = "); print_r($months); // key can't be modified print("
"); ?>