Home > Backend Development > PHP Tutorial > PHP learning summary array

PHP learning summary array

不言
Release: 2023-03-23 07:18:01
Original
1514 people have browsed it

Overview

We know that in the PHP programming language, arrays are used very frequently and are used in almost every script. PHP comes with a large number of excellent functions for operating arrays for our use. This article will classify and summarize the use of these array functions for your convenience in the future.

Create

1. range()

Create an array with a specified range:

$arr1 = range(0, 10);     # array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

$arr2 = range(0, 10, 2);  # array(0, 2, 4, 6, 8, 10)

$arr3 = range('a', 'd');  # array('a', 'b', 'c', 'd')

$arr4 = range('d', 'a');  # array('d', 'c', 'b', 'a')
Copy after login
2. compact ()

Create an array containing variable names and their values:

$number = 10;
$string = "I'm PHPer";
$array  = array("And", "You?");
$result = compact("number", "string", "array"); # array('number'=>10, 'string'=>"I'm PHPer", 'array'=>array("And", "You?"))
Copy after login
3. array_combine()

Create an array with an An array with the value as its key and the value of another array as its value:

$key    = array("1", "3", "5", "7", "9");
$value  = array("I", "Am", "A", "PHP", "er");
$result = array_combine($number,$array);     # array('1'=>I, '3'=>'Am', '5'=>'A', '7'=>'PHP', '9'=>'er')
Copy after login

Traversal

1. for Loop
$arr = range(0, 10);
for($i = 0; $i < count($arr);  $i++) {
    echo $arr[$i];
}
Copy after login
Disadvantages: Only indexed arrays can be traversed.
2. while Loop
$products = array(&#39;apple&#39;=>3, 'milk'=>6, 'eggs'=>10);
while(list($product, $quantity) = each($products)) {
    echo $product . '-' . $quantiry;
}
Copy after login
Disadvantage: After the traversal is completed, the array cannot be traversed for the second time (the internal pointer of the array points to the last element).
3. foreach Loop
$products = array('apple'=>3, 'milk'=>6, 'eggs'=>10);
foreach($products as $product => $quantity) {
    echo $product . '-' . $quantiry;
}
Copy after login

Operation key or value

unset() — Delete array members or arrays
in_array() — Check whether a certain value exists in the array
array_key_exists() — Check whether the given key name or index exists in the array
array_search() — Searches for a given value in the array, and returns the corresponding key name if successful

$array = array(1, 2, 3);
unset($array); # array()

$fruit = array('apple' => 'goold','orange' => 'fine','banana' => 'OK');
if(in_array('good', $fruit)) {
    echo 'Exit';
}

$search_array = array('first' => 1, 'second' => 4);
if (array_key_exists('first', $search_array)) {
    echo "Exit";
}

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');
$key = array_search('green', $array); # $key = 2;
Copy after login

array_keys() — Returns some or all of the keys in the array Key name
array_values() — Returns all values ​​in the array

$array  = array('apple'=>'good', 'orange'=>'fine', 'banana'=>'ok');
$keys   = array_keys($array);   # array('apple', 'orange', 'banana')
$values = array_values($array); # array('good', 'fine', 'ok')
Copy after login

array_unique() — Removes duplicate values ​​from the array

$input  = array(4, '4', '3', 4, 3, '3');
$result = array_unique($input); # array(4, '3')
Copy after login

array_flip() — Swap the keys and values ​​in the array

$input  = array('oranges', 'apples', 'pears');
$result = array_flip($input); # array('oranges'=>0, 'apples'=>1, 'pears'=>2)
Copy after login

array_count_values() Count all the values ​​in the array

$input  = array(1, 'hello', 1, 'world', 'hello');
$result = array_count_values($input); # array('1'=>2, 'hello'=>2, 'world'=>1)
Copy after login

Sort

1. sort() and rsort()

Sort the array in ascending or descending order:

$fruits = array();
sort($fruits);  # array('apple', 'banana', 'lemon', 'orange')
rsort($fruits); # array('orange', 'lemon', 'banana', 'apple')
Copy after login
2. asort() and arsort()

Sort associative arrays (by element value) in ascending or descending order and maintain index relationships:

$fruits = array('d'=>'lemon', 'a'=>'orange', 'b'=>'banana', 'c'=>'apple');
asort($fruits);  # array('c'=>''apple', 'b'=>''banana', 'd'=>'lemon', 'a'=>'orange')
arsort($fruits); # array('a'=>'orange', 'd'=>'lemon', 'b'=>''banana', 'c'=>''apple')
Copy after login
3. ksort()

Sort the array by key name:

$fruits = array('d'=>'lemon', 'a'=>'orange', 'b'=>'banana', 'c'=>'apple');
ksort($fruits); # array('a'=>'orange', 'b'=>'banana', 'c'=>'apple', 'd'=>'lemon')
Copy after login
4. shuffle()

Randomly shuffle Random array sorting:

$numbers = range(1, 5);
shuffle($numbers); # array(3, 2, 5, 1, 4)
Copy after login

Stack and queue

array_push() — Push one or more elements to the end of the array (push)
array_pop() — Pop the last unit of the array off the stack

$stack = array('orange', 'banana');

array_push($stack, 'apple", 'raspberry'); # array('orange', 'banana', 'apple', 'raspberry')

$fruit = array_pop($stack);  #array('orange', 'banana', 'apple')
Copy after login

array_unshift() — Insert one or more units at the beginning of the array
array_shift() — Move the cells at the beginning of the array out of the array

$queue = array('orange', 'banana');

array_unshift($queue, 'apple", 'raspberry'); # array('apple', 'raspberry', 'orange', 'banana')

$fruit = array_shift($queue); # array('raspberry', 'orange', 'banana')
Copy after login

Split, fill, merge

array_slic() — Remove a segment from the array
array_splice() — Remove part of an array and replace it with another value

$input  = array('a', 'b', 'c', 'd', 'e');
$result = array_slice($input, 2); # array('c', 'd', 'e')

$input = array('red', 'green', 'blue', 'yellow');
array_splice($input, 2, 1); # array('red', 'green', 'yellow')
Copy after login

array_pad() — Fill an array with a value of the specified length

$input  = array(12, 10, 9);
$result = array_pad($input, 5, 0);   # array(12, 10, 9, 0, 0)
$result = array_pad($input, -7, -1); # array(-1, -1, -1, -1, 12, 10, 9)
Copy after login

array_fill() — Fills an array with the given values ​​

$a = array_fill(5, 3, 'a');     # array(5=>'a', 6=>'a', 7=>'a')
$b = array_fill(-2, 3, 'pear'); # array(-2=>'a', 0=>'a', 1=>'a')
Copy after login

array_fill_keys() — Fills the array with the specified keys and values ​​

$keys   = array('foo', 5, 10, 'bar');
$result = array_fill_keys($keys, 'a'); # array('foo'=>'a', 5=>'a', 10=>'a', 'bar'=>'a')
Copy after login

array_merge() — Merge one or more arrays

$array1 = array('data0');
$array2 = array('data1');
$result = array_merge($array1, $array2); # array('data0', 'data1')
Copy after login

Other functions

1. array_walk()

Use a user-defined function to perform callback processing on each element in the array (change the original array):

$a = array(1, 2, 3, 4, 5);
array_walk($a, function(&$value, $key) {
    ++$value;
}); # array(2, 3, 4, 5, 6)
Copy after login
2. array_map()

Apply the callback function to On the cells of the given array (the original array is not changed, and a new array is generated as the result):

$a = array(1, 2, 3, 4, 5);
$b = array_map(function($item) {
    return $item + 1;
}, $a); # array(2, 3, 4, 5, 6)
Copy after login
3. array_rand()

Randomly taken from the array One or more elements:

$input  = array('apple', 'banana', 'lemon', 'orange');
$result = array_rand($input, 2); # array('banana', 'lemon')
Copy after login
4. array_diff()

Calculate the difference of array value:

$array1 = array('a' => 'green', 'red', 'blue', 'red');
$array2 = array('b' => 'green', 'yellow', 'red');
$result = array_diff($array1, $array2); # array('blue')
Copy after login

Related recommendations:

PHP Learning Summary Variable

PHP Learning Summary String                                      

The above is the detailed content of PHP learning summary array. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template