Home > Article > Backend Development > PHP array usage tips and operation summary, PHP array usage tips_PHP tutorial
Arrays can be said to be one of the more important methods in PHP data applications. There are many array functions in PHP. Here are some summaries to remember them for future reference.
1. Array definition
Usage of array definition
Defined in array() method, you can define an empty array:
$number =
array(1,3,5,7,9);
//Define an empty array
$result = array();
$color
=array("red","blue","green");
//Custom key value
$language =
(1=>"English",3=>"Chinese",5=>"Franch");
//Define a two-dimensional array
$two = array(
"color"=>array("red","blue"), //end with comma
"week"=>array("Monday","Friday") //The last sentence has no punctuation
);
?>
2. Create array
compact()
compact() function - converts one or more variables (including arrays) into arrays: array compact ( mixed $varname [,
mixed $... ] ).
$number = "1,3,5,7,9";
$string = "I'm PHPer";
$array =
array("And","You?");
$newArray = compact("number","string","array");
print_r ($newArray);
?>
The compact() function is used to convert two or more variables into arrays, including array variables of course. The parameter is the name of the variable rather than the full name with $. The opposite function is extract(). As the name suggests, it converts the array into a single string, with the key value as its string name and the array value as the string value.
Run results:
Array (
[number] => 1,3,5,7,9
[string] => I'm PHPer
[array] => Array ( [0] => And [1] =>
You? )
)
array_combine()
array_combine() - Reorganize two arrays into one array, one as the key value and the other as the value: array array_combine (array
$keys , array $values )
$number =
array("1","3","5","7","9");
$array = array("I","Am","A","PHP","er" );
$newArray = array_combine($number,$array);
print_r ($newArray);
?>
I won’t go into details about the array_combine function, everyone will understand it after reading it.
Run result:
Array ( [1] =>
I [3] => Am [5] => A [7] => PHP [9] => er )
range()
range() function - creates an array within a specified range:
$array1 =
range(0,100,10);//0 is the starting value, 100 is the end value, and 10 is the step value (the default step value is 1).
print_r($array1);
echo"
";
$array2 = range("A","Z");
print_r($array2);
echo "
";
$array3 = range("z","a");
print_r($array3);
?>
array_fill()
array_fill() function - fill array function:
$array = range(1,10);
$fillarray = range("a","d");
$arrayFilled =
array_fill(0,5,$fillarray);//$fillarray here can be a string, such as "test".
echo
"
"; <br>print_r ($arrayFilled); <br>echo "";
"; <br>print_r ($array2); <br>echo "";
[1] => Array
(
[0] => a
[1]
=> b
[2] => c
[3] => d
)
[2] => Array
(
[0] => a
[1]
=> b
[2] => c
[3] => d
)
[3] => Array
(
[0] => a
[1]
=> b
[2] => c
[3] => d
)
[4] => Array
(
[0] => a
[1]
=> b
[2] => c
[3] => d
)
)
Array
(
[string] => testing
[2] => testing
[9] => testing
[SDK] => testing
[PK]
=> testing
)
3. Array traversal
foreach traversal
foreach
(array_expression as $value){}
foreach (array_expression as $key =>
$value){}
$speed =
array(50,120,180,240,380);
foreach($speed as $keys=>$values){
echo
$keys."=>".$values."
";
}
?>
Run result:
0=>50
1=>120
2=>180
3=>240
4=>380
while loop traversal
While loop traversal is generally combined with the list function. The following is an example
$staff = array(
array("Name", "Gender", "Age"),
array("Xiao Zhang", "Male", 24),
array("Xiao Wang", "Female", 25 ),
array("Xiao Li","Male",23)
);
echo "
$name | $sex | $age |
Add array members
Example 1: $num[] =
value is directly assigned and appended to the end of the array:
[code]$num =
array(1=>80,2=>120,3=>160);
echo "Use expressions to add array members
";
$num[]=240;
print_r($num);
?>
Run result:
Use expression to add array members
Array ( [0] => 80
[1] => 120 [2] => 160 [3] => 240 )
Example 2: array_pad function, selective appending of the beginning and end of an array
$num =
array(1=>80,2=>120,3=>160);
$num = array_pad($num,4,200);
echo
"Use the array_pad function to add members to the end of the array
";
print_r($num);
echo "
array_pad can also fill the head of the array
";
$num = array_pad($num,-8,40);
print_r($num);
?>
Run results:
Use the array_pad function to add members to the end of the array
Array (
[0] => 80 [1] => 120 [2] => 160 [3] => 200 )
array_pad can also fill the head of the array
Array ( [0] => 40 [1] => 40 [2] => 40 [3] => 40 [4] => 80 [5]
=> 120 [6] => 160 [7] => 200 )
Example 3: Push operation append (array_push):
$num = array(1=>80,2=>120,3=>160);
array_push($num,200,240,280);//You can add it yourself, directly at the end of the array
print_r($num);
?>
Run result:
Array ( [1] => 80 [2] => 120
[3] => 160 [4] => 200 [5] => 240 [6] => 280 )
Example 4: array_unshift() adds array members at the beginning
$num =
array(1=>80,2=>120,3=>160);
array_unshift($num,0,40);//You can add it yourself, directly at the end of the array
print_r($num);
?>
Run result:
Array ( [0] => 0 [1] => 40 [2]
=> 80 [3] => 120 [4] => 160 )
Note: After using the array_unshift() function, the key value of the array will start from 0!
Delete array members
Example 1: The unset() command deletes array members or arrays:
Copy the code The code is as follows:$num =
array_fill(0,5,rand(1,10));
print_r($num);
echo "
";
unset($num[4]);
print_r($num);
echo "
";
unset($num);
if(is_array){
echo "The unset command cannot delete the entire array";
}else{
echo
"The unset command can delete arrays";
}
?>
Run result: (Run error and description array are also deleted and no longer exist)
Array ( [0] =>
9 [1] => 9 [2] => 9 [3] => 9 [4] => 9 )
Array ( [0] => 9 [1]
=> 9 [2] => 9 [3] => 9 )
Notice: Use of undefined constant is_array -
assumed 'is_array' in H:wampwwwtestingeditorplustest.php on line 21
The unset command cannot delete the entire array
Example 2: array_splice() function deletes array members
$a=array("red", "green", "blue", "yellow");
count ($a); //get 4
array_splice($a,1,1); //Delete the second element
count ($a); //Get 3
echo $a[2];
//Get yellow
echo $a[1]; //Get blue
?>
Example 3: array_unique deletes duplicate values in the array:
$a=array("red", "green", "blue",
"yellow","blue","green");
$result = array_unique($a);
print_r($result);
?>
Run result:
Array ( [0] => red [1] => green [2] => blue [3]
=> yellow )
Example 4: array_merge, array_merge_recursive merge arrays
$array1 = array("r"=>"red",1,2,3,4);
$array2 =
array("b"=>"blue",4=>5,6,7,8,9);
$array3 =
array("r"=>"read",4=>10,2=>11);
$array4 = array(
array(4=>10),
array(7=>13)
);
$array5 = array(
array(4=>11),
array(6=>12)
);
$result =
array_merge($array1,$array2,$array3,$array4,$array5);
echo "
"; <br>print_r($result); <br>echo "";
"; <br>print_r ($result); <br>echo "";
[12] => Array
(
[7] => 13
)
[13] => Array
(
[4] => 11
)
[14] => Array
(
[6] => 12
)
)
Array
(
[r] => Array
(
[0] => red
[1] => read
)
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[b] => blue
[4] => 5
[5] => 6
[6] =>
7
[7] => 8
[8] => 9
[9] => 10
[10] => 11
[11]
=> Array
(
[4] => 10
)
[12] => Array
(
[7] => 13
)
[13] => Array
(
[4] => 11
)
[14] => Array
(
[6] => 12
)
)
Note: 1.
If the key name of array_merge is numeric, the index will be re-established; when the same string key name is encountered, the later one will overwrite the previous one. 2.
The function of array_merge_recursive function is to integrate the key name units of the same string into an array.
6. Array key and value operations
Example 1: in_array() detects whether a certain value exists in the array
$array = range(0,9);
if(in_array(9,$array)){
echo "Exists in array";
}
?>
Run result: Exists in array
Example 2: key() gets the current key name of the array:
$array = range(0,9);
$num =
rand(0,8);
while($num--)
next($array);
$key = key($array);
echo
$key;
?>
The result of this example is a dynamic result, the range is (0-8), and no result demonstration is performed.
Example 3: The list() function assigns the values in the array to the specified variable:
array("Xiao Li","Male",23)
);
echo "
$name | $sex | $age |
Example 4: array_flip() exchanges the key and value of the array:
$array =
array("red","blue","yellow","Black");
print_r($array);
echo "
";
$array = array_flip($array);
print_r($array);
?>
Run result:
Array ( [0] => red [1] => blue
[2] => yellow [3] => Black )
Array ( [red] => 0 [blue] => 1
[yellow] => 2 [Black] => 3 )
$array =
array("red","blue","yellow","Black");
$result = array_keys($array);
print_r($result);
echo "
";
$result =
array_values($array);
print_r($result);
?>
Run result:
Array ( [0] => 0 [1] => 1 [2]
=> 2 [3] => 3 )
Array ( [0] => red [1] => blue [2] => yellow
[3] => Black )
Example 6: array_search() search value:
$array =
array("red","blue","yellow","Black");
$result = array_search("red",$array);
if(($result === NULL)){
echo "There is no value red";
}else{
echo "There is a value red"
$result";
}
?>
Result: Value 0 exists
The value returned by the function array_search() may be false or 0 or NULL, so be careful to use "===" when making judgments
7. Sorting of arrays
Example 1: sort(), rsort()/asort(), arsort() to sort arrays:
$array = array("b","c","d","a");
sort($array);//Sort from low to high
print_r($array);
echo "
";
rsort($array);//Reverse sort
print_r($array);
?>
Result:
Array ( [0] => a [1] => b [2]
=> c [3] => d )
Array ( [0] => d [1] => c [2] => b [3] =>
a) The
sort() and rsort() functions sort the array from low to high, and the return result is a bool value;
The asort() and arsort() functions preserve the sorting of key values, and the key values are not re-indexed after sorting.
Example 2: Disturbing the order of the array - shuffle() function:
$array = array("a","b","c","d");
shuffle($array);//Sort from low to high
print_r($array);
?>
The result is a dynamic result:
Array ( [0] => c [1] => a
[2] => d [3] => b )
The result of shuffle is a bit random, and it is different every time it is refreshed.
Example 3: array_reverse() array reverse:
$array = array("d","b","a","c");
$array = array_reverse($array);//Sort from low to high
print_r($array);
?>
Run result:
Array ( [0] => c [1] => a [2]
=> b [3] => d )
Example 4: Natural sorting algorithm - natsort() and natcasesort();
$array =
array("sort2","Sort5","sort1","sort4");
natsort($array);//Sort from low to high
print_r($array);
echo "
";
natcasesort($array);
print_r($array);
?>
Result:
Array ( [1] => Sort5 [2] => sort1
[0] => sort2 [3] => sort4 )
Array ( [2] => sort1 [0] => sort2
[3] => sort4 [1] => Sort5 )
natsort() and natcasesort() perform natural sorting on arrays, which is the normal sorting algorithm using numbers. natcasesort ignores case.
Example 5: Sort the array by key value ksort():
$array =
array(1=>"sort2",4=>"Sort5",2=>"sort1",3=>"sort4");
ksort($array);//Sort from low to high
print_r($array);
?>
Result:
Array ( [1] => sort2 [2] => sort1
[3] => sort4 [4] => Sort5 )
Note: The ksort() function re-indexes.
8.
Other uses of arrays
cout($array) -------- Count the number of cells in the array
array_diff($array1,$array2)----------counts the differences between arrays and returns what is in the first array but not in the second array.
array_diff_assoc($array1,$array2)---------Same as array_diff(), except that it also compares key values
array_diff_key($array1,$array2)------------Compare key values
array_product($array)----------Returns the product of all numbers in the array
array_sum($array)--------------The sum of all values
array_rand($array,$n)----------Take out $n values from the $array array and return the array
array_intersect($array1,$array2)----------------Get the intersection of two arrays
array_intersect_assoc($array1,$array2)---------------in array_intersect
Perform key-value comparison on the basis of
array_intersect_key($array1,$array2)-----------------Compare the intersection of two array key values