"; // 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("
");
?>