>  기사  >  백엔드 개발  >  array_php 팁의 키와 값을 얻는 PHP 방법 요약

array_php 팁의 키와 값을 얻는 PHP 방법 요약

WBOY
WBOY원래의
2016-05-16 20:14:011724검색

이 기사의 예에서는 PHP에서 배열의 키와 값을 얻는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.

배열을 사용할 때 배열을 순회해야 하는 경우가 많습니다. 배열을 반복하여 개별 키나 값을 가져와야 하는 경우가 종종 있으므로(또는 키와 값을 모두 가져오는 경우) 당연히 PHP는 이러한 목적을 위해 몇 가지 기능을 제공합니다. 많은 함수는 현재 포인터 위치에서 키나 값을 얻는 것뿐만 아니라 포인터를 다음 적절한 위치로 이동하는 두 가지 작업을 수행합니다.

현재 배열 키 가져오기 key()

key() 함수는 input_array의 현재 포인터 위치에 있는 키를 반환합니다. 형태는 다음과 같습니다.

혼합키(배열배열)

다음 예에서는 배열을 반복하고 포인터를 이동하여 $fruits 배열의 키를 출력합니다.

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

key()가 호출될 때마다 포인터가 이동하지 않는다는 점에 유의하세요. 이렇게 하려면 next() 함수를 사용해야 합니다. 이 함수의 유일한 기능은 포인터를 전진시키는 작업을 완료하는 것입니다.

현재 배열 값 가져오기 current()

current() 함수는 배열의 현재 포인터 위치에 있는 배열 값을 반환합니다. 형태는 다음과 같습니다.

혼합 전류(어레이 어레이)

이전 예제를 수정해 보겠습니다. 이번에는 배열 값을 가져오고 싶습니다.

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

현재 배열 키와 값을 각각 가져옵니다()

each() 함수는 input_array의 현재 키/값 쌍을 반환하고 포인터를 한 위치 전진시킵니다. 형태는 다음과 같습니다.

각 배열(배열 배열)

반환된 배열에는 4개의 키가 포함되어 있습니다. 키 0과 키에는 키 이름이 포함되고, 키 1과 값에는 해당 데이터가 포함됩니다. Each()가 실행되기 전에 포인터가 배열의 끝에 있으면 false가 반환됩니다.

$fruits = array("apple", "banana", "orange", "pear");
print_r ( each($fruits) );
// Array ( [1] => apple [value] => apple [0] => 0 [key] => 0 )

each()는 배열을 반복하기 위해 list()와 함께 사용되는 경우가 많습니다. 이 예는 이전 예와 유사하지만 전체 배열이 루프로 출력됩니다.

$fruits = array("apple", "banana", "orange", "pear");
reset($fruits);
while (list($key, $val) = each($fruits))
{
   echo "$key => $val<br />";
}
// 0 => apple
// 1 => banana
// 2 => orange
// 3 => pear

한 배열을 다른 배열에 할당하면 원래 배열 포인터가 재설정되기 때문에 위 예에서 $fruits를 루프 내의 다른 변수에 할당하면 무한 루프가 발생합니다.

이렇게 하면 배열 순회가 완료됩니다.

이 기사가 모든 사람의 jQuery 프로그래밍에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.