1. What is an array
An array is a collection of data that organizes a series of data to form an operable whole. Each entity of an array contains two items: a key and a value.
2. Declaration data
There are two main ways to declare arrays in PHP:
One is to use the array() function to declare an array,
One is to directly assign values to array elements. Feifei Asp! Technology Park
<1>The array() function declares the array in the form of array([mixed...]). The syntax of the parameter mixed is key=>value
For example,
$array=array("1"=>"Editor","2"=>"Cheng","3"=>"Ci","4"=>"Dictionary");
print_r($array);
echo "
";
echo $array[1]; //Note: The subscript starts from 0 by default
echo $array[2];
echo $array[3];
echo $array[4];
?>
<2> Directly assign values to array elements.
This method of array creation is better if you don't know the size of the array when you create it, or if the size of the array may change when you actually write the program.
For example,
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array); //Output the structure of the created array
?>
3. Types of arrays
PHP supports two types of arrays: indexed arrays and associative arrays. The former uses numbers as keys, and the latter uses strings as keys.
4. Output array
Outputting array elements in PHP can be achieved through echo and print statements, but this can only output a certain element in the array; to output the array structure, use the print_r() function, whose syntax is: print_r(mixed expression ), if the parameter expression is an ordinary integer, character or real variable, the variable itself will be output. If the parameter is an array, all elements in the array will be displayed in the order of a certain key value and element.
5. Array construction
One-dimensional array:
When the elements of an array are variables, it is called a one-dimensional array. Feifei As.p Technology Park
Declare a one-bit array: type specifier array name [constant expression];
Two-dimensional array:
When the elements of an array are a one-bit array, it is called a two-dimensional array.
For example,
$str = array (
"Network programming language"=>array ("PHP","JSP","ASP"),
"Sports"=>array ("m"=>"Football","n"=>"Basketball"));
print_r ( $str) ;
?>
6. Traverse the array
Traversing all elements in an array is a common operation, and queries or other functions can be completed during the traversal process. There are many ways to traverse an array in PHP. The two most commonly used methods are introduced below.
<1>Use the foreach structure to traverse the array;
<2>Use the list() function to traverse the array. The list() function can only be used for numerically indexed arrays, and the numerical index starts from 0.
Example: Use list() and each() combined to authenticate user login:
//Output user login information
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo "$name=$value
";
}
}
?>
7. Count the number of array elements
In PHP, use the count() function to count the number of elements in an array. The syntax is: int coun(mixed array[,int mode]), where the parameter array is a required parameter and mode is an optional parameter. If COUNT is selected ——RECURSIVE (or 1), this function will recursively pair arrays of arrays. For example,
$array = array("php" => array("PHP Function Reference Collection", "PHP Program Development Example Collection", "PHP Database Tutorial System Development Complete Manual"),
"asp tutorial" => array("ASP experience and skills guide")
); //Declare a two-dimensional array
echo count($array,COUNT_RECURSIVE);//Recursively count the number of array elements, the running result is 6
?>
8. Array sorting
<1>Use sort() and rsort() to sort the array in ascending and descending order respectively, such as,
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$iecho $array[$i]." ";
}
echo "
";
$array1=rsort($array);
for($i=0;$iecho $array[$i]." ";
}
?>
Run result:
5 9 18 26 37 42 66 88
88 66 42 37 26 18 9 5
<2>Use ksort() and asort() to sort associative arrays
If you use a related array, you need to keep the order of keys and values consistent after sorting. In this case, you need to use the ksort() and asort() functions
Number, such as,
$array=array('php'=>1,'jsp tutorial'=>2,'asp'=>3);
ksort($array);
print_r($array);
echo "
";
asort($array);
print_r($array);
?>
Running result:
Array ( [asp] => 3 [jsp] => 2 [php] => 1 )
Array ( [php] => 1 [jsp] => 2 [asp] => 3 )
array("key"=>"value");Create an array// Display array
print_r($array);
//Use the compact() function to create a new array, and use the parameters as the units of the new array;
$newArray = compact("red","green","yellow","blue","array");
//Use the extract() function to convert the cells in the array into variables
Extract($exArray);
echo "$key1 $key2 $key3 $key4 $key5";
※Check values and keys
array_key_exists($key,$array);//Check array key
in_array($value,$array);//Check the value in the array
※Get the value
//Use array_values() to get the value of the array
$carValues = array_values($car);
//Get the key name of the array
$twoKeys = array_keys($two);
Key($array);//Output the key name of the current unit
//After the array is defined, use current() to obtain the value of the current unit
$red = current($array);
list($red,$green) = $array;//Assign the value in the array to the variable, $array = array("red", "green");
each($two);//Return the key and value of the current unit in the array
※Traverse the array
foreach($two as $subArray);//Traverse the array
while(list($key,$value) = each($array)){
echo "$key=>$value,";//Use each to traverse the array
}
※Fill array
// Fill the array to the left and right
array_pad($array,+3,"shuzhi");//The 2 parameters are filled from left to right, and will be filled only when the value is greater than the number of units
$array1 = array_fill(5,5,"test");//Use array_fill() to fill the value of this array, the value is test, start filling from the 5th unit, and fill 5 units in total
// Fill in the array key name
$keys = array('string', 5, 10, 'str');
$array3 = array_fill_keys($keys,"array value");
//Use the array_filp() function to exchange key names and values
$speed = array_flip($speed);
//Use the array_splice() function to replace the value of the 6th cell with 7
$output = array_splice($input,6,0,7);
//Use the array_splice() function to delete array cells and keep only the first 5 cells
$output = array_splice($input,5);
$array1 = range(10,100,10); //Use the third parameter of the range() function to set the step value between units
※Sort
shuffle($array);//Shuffle the order of the array
//Use array_multisort() to sort three arrays
array_multisort($sort1,$sort2,$sort3);
// Sort this array and maintain the index relationship
asort($array);
// Sort the test array in reverse order and maintain the index relationship
arsort($array);
//Use ksort() to sort the array by key name
ksort($array);
//Use the krsort() function to sort by key name in reverse order
krsort($array);
//Use sort() to sort the test array [arranged by key name]
sort($array);
// Use natsort() to sort [natural sorting, numerical arrangement] which is case-sensitive for unit values
natsort($array);
//Use the natcasesort() function to sort [natural sorting] but ignore the case of values
natcasesort($array);
//Use the array_reverse() function to sort, and the array units are arranged in reverse order
$newArray = array_reverse($array,TRUE);//Retain the original key name when TRUE is set
※Intersection and difference
//Use array_diff() to calculate the difference set of three arrays [Compare array values]
$result = array_diff($dog1,$dog2,$dog3);
//Use array_diff_assoc() to calculate the difference set of three arrays [compare values and key names]
$result = array_diff_assoc($dog1,$dog2,$dog3);
//Use array_diff_key() to calculate the difference set of three arrays [Compare key names]
$result = array_diff_key($dog1,$dog2,$dog3);
//Use array_intersect() to calculate the intersection of three arrays [Compare array values]
$result = array_intersect($dog1,$dog2,$dog3);
//Use array_intersect_assoc() to calculate the intersection of three arrays [compare values and key names]
$result = array_intersect_assoc($dog1,$dog2,$dog3);
//Use array_intersect_key() to calculate the intersection of three arrays [Compare key names]
$result = array_intersect_key($dog1,$dog2,$dog3);
※Merge arrays
//Use the array_merge() function to merge arrays
$result = array_merge($array1,$array2,$array3,$array4,$array5);
array_rand($input,10);//Randomly take out 10 units
Count($array,COUNT_RECURSIVE);//Display the number of array units, the 2 parameters can only be 1 or COUNT_RECURSIVE, sometimes multi-dimensional arrays can be traversed
※In and out of stack
//The array is popped from the stack, last in first out, and the last unit of the array is popped
array_pop($array);
// Push the array onto the stack and add the two values 7 and 8 to the end of the array
array_push($array,7,8);
//Move the beginning element of the array out of the array
array_shift($array);
//Add 7 and 8 to the beginning of the array
array_unshift($array,7,8);