Home >Backend Development >PHP Tutorial >PHP array related summary_PHP tutorial
1 Array syntax
Define array array()
You can use the array() language construct to create a new array. It accepts any number of comma-separated key => value pairs.
array( key => value
, , ...
)
// The key can be an integer or a string
// Value (value) can be any type of value
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]; // bar
echo $arr[12]; // 1
?>
key can be integer or string. If key is the standard representation of an integer, it is interpreted as an integer (e.g. "8" will be interpreted as 8, and "08" will be interpreted as "08"). Floating point numbers in key are rounded to integers. In PHP, indexed arrays are the same as associative arrays. They can contain both integer and string subscripts.
The value can be any PHP type.
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
echo $arr["somearray"][6]; // 5
echo $arr["somearray"][13]; // 9
echo $arr["somearray"]["a"]; // 42
?>
If no key is specified for the given value, the current largest integer index value is taken, and the new key name will be that value plus one. If the specified key name already has a value, the value will be overwritten.
// This array is the same as the array below...
array(5 => 43, 32, 56, "b" => 12);
// ...
array(5 => 43, 6 => 32, 7 => 56, "b" => 12);
?>
Using TRUE as the key name will make integer 1 the key name. Using FALSE as the key name will make integer 0 the key name. Using NULL as a key name is equivalent to using an empty string. Using an empty string as a key will create (or overwrite) a value with an empty string as the key, which is different from using empty square brackets.
Arrays and objects cannot be used as keys. Doing so will result in a warning: Illegal offset type.
Create/modify using square bracket syntax
You can change an existing array by explicitly setting the value.
This is accomplished by assigning values to the array by specifying key names within square brackets. You can also omit the key name, in which case add an empty pair of square brackets ("[]") to the variable name.
$arr[key] = value;
$arr[] = value;
// key can be integer or string
// value can be a value of any type. If $arr does not exist yet, a new one will be created. This is also an alternative way to define an array. To change a value, just assign it a new value. If you want to delete a key/value pair, use unset() on it.
$arr = array(5 => 1, 12 => 2);
$arr[] = 56; // This is the same as $arr[13] = 56;
// at this point of the script
$arr["x"] = 42; // This adds a new element to
// the array with key "x"
unset($arr[5]); // This removes the element from the array
unset($arr); // This deletes the whole array
?>
Note:
As mentioned above, if square brackets are given but no key name is specified, the current maximum integer index value is taken and the new key name will be that value + 1. If there is no integer index currently, the key name will be 0. If the specified key name already has a value, the value will be overwritten.
Note that the largest integer key name used here does not necessarily exist in the array currently. It just needs to have existed since the last time the array was reindexed. Take the following example to illustrate:
//Create a simple array
$array = array(1, 2, 3, 4, 5);
print_r($array);
// Now delete all elements in it, but leave the array itself unchanged:
foreach ($array as $i => $value) {
unset($array[$i]);
}
print_r($array);
// Add a cell (note the new key is 5, not 0 as you might think)
$array[] = 6;
print_r($array);
// Reindex:
$array = array_values($array);
$array[] = 7;
print_r($array);
?>
The above routine will output:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
Array
(
)
Array
(
[5] => 6
)
Array
(
[0] => 6
[1] => 7
2. Array function
1. Array merging:
Array array_merge(array1.array2);
2. Delete the last element in the array, that is, pop the last unit of the array
Mixed array_pop(array $array);
$array must be an array variable
Return value: mixed: is the deleted element
3. Push data to the end of the array
int array_push(array $array ,mixed var[,mixed....])
The first parameter: array must be an array variable (passed by reference)
The second parameter: var[,mixed....] can insert multiple variables
Return value: int is the starting position of the corresponding number
4. Randomly select one or more elements from the array
Mixed array_rand(array input [,int num_req]);
The first parameter: input array
The second parameter: num_req specifies how many numbers to select
Return value: mixed is the subscript of the array. If num_req>1, the returned value is the int array
in the table below
5 Delete the first element of the array
Mixed array_shift(array $array)
The first parameter: array must be an array variable (passed by reference);
Return value: mixed deleted element value
6 Returns the sum of all values in the array
If the elements in the array are numbers, the sum of the elements in the array will be returned. If there is a string, it will be converted into an integer.
Number array_sum(array array);
The first parameter: array must be an array variable;
Return value: number
7 Check whether a certain value exists in the array
bool in_array(mixed needle ,array haystack [,bool strict])
needle variable to find
haystack array
strict optional parameter
Author "ITeamsky-Yang Bo's Technology Space"