Home  >  Article  >  Backend Development  >  How to get the keys and values ​​of an array in PHP

How to get the keys and values ​​of an array in PHP

巴扎黑
巴扎黑Original
2016-11-21 14:25:091550browse

When using arrays, it is often necessary to traverse the array. It is often necessary to iterate through an array and get the individual keys or values ​​(or get both keys and values), so not surprisingly, PHP provides some functions for this purpose. Many functions perform two tasks, not only obtain the key or value at the current pointer position, but also move the pointer to the next appropriate position.

Get the current array key key()

key() function returns the key at the current pointer position in input_array. It has the form:

mixed key(array array)

The following example outputs the key of the $fruits array by iterating through the array and moving the pointer:

$fruits = array("apple"=>"red", "banana"=>"yellow");
while ($key = key($fruits)) {
printf("%s
", $key);
next($fruits);
}

// apple
// banana

Note that the pointer will not move every time key() is called. For this purpose, the next() function needs to be used. The only function of this function is to complete the task of advancing the pointer.

Get the current array value current()

current() function returns the array value at the current pointer position in the array. Its form is as follows:

mixed current(array array)

Let’s modify the previous example. This time we want to get the array value:

$fruits = array("apple"=>"red", "banana"= >"yellow");
while ($fruit = current($fruits)) {
printf("%s
", $fruit);
next($fruits);
}

/ / red
// yellow

Get the current array key and value each()

each() function returns the current key/value pair of input_array and advances the pointer one position. Its form is as follows:

array each(array array)

The returned array contains four keys, key 0 and key contain the key name, and key 1 and value contain the corresponding data. If the pointer is at the end of the array before each() is executed, false is returned.

$fruits = array("apple", "banana", "orange", "pear");
print_r ( each($fruits) );

// Array ( [1] => apple [value] => apple [0] => 0 [key] => 0 )

each() is often used in combination with list() to traverse arrays. This example is similar to the previous example, but the entire array is output in a loop:

$fruits = array("apple", "banana", "orange", "pear");
reset($fruits);

while (list ($key, $val) = each($fruits))
{
echo "$key => $val
";
}

// 0 => apple
// 1 => ; banana
// 2 => orange
// 3 => pear

Because assigning an array to another array will reset the original array pointer, so in the above example, if we change it inside the loop Assigning $fruits to another variable will result in an infinite loop.

This completes array traversal.


Statement:
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