>  기사  >  백엔드 개발  >  PHP_php 기술의 배열에 대해 일반적으로 사용되는 추가, 삭제 및 삽입 작업 함수 요약

PHP_php 기술의 배열에 대해 일반적으로 사용되는 추가, 삭제 및 삽입 작업 함수 요약

WBOY
WBOY원래의
2016-05-16 20:04:001006검색

때때로 배열을 확장하거나 배열의 일부를 삭제해야 할 때가 있습니다. PHP는 배열을 확장하고 축소하는 몇 가지 기능을 제공합니다. 이러한 기능은 다양한 대기열 구현(FIFO, LIFO)을 에뮬레이션하려는 프로그래머에게 편의를 제공합니다. 이름에서 알 수 있듯이 이러한 기능의 기능 이름(push, pop, Shift 및 unshift)은 해당 기능을 명확하게 반영합니다.

PS: 기존 큐는 요소를 삭제하는 순서와 요소를 추가하는 순서가 동일하며 이를 선입선출(FIFO)이라고 합니다. 대조적으로, 스택은 요소가 추가된 역순으로 제거되는 또 다른 데이터 구조입니다. 이것이 후입선출(LIFO)이 됩니다.

배열의 선두에 요소 추가

array_unshift() 함수는 배열의 헤드에 요소를 추가합니다. 모든 기존 숫자 키는 배열의 새 위치를 반영하도록 수정되지만 관련 키는 영향을 받지 않습니다. 형태는 다음과 같습니다.

int array_unshift(array array,mixed variable[,mixed variable])

다음 예에서는 $fruits 배열 앞에 두 개의 과일을 추가합니다.

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

배열 끝에 요소 추가

array_push() 함수의 반환 값은 데이터를 푸시한 후 배열의 요소 수인 int 유형입니다. 이 함수에 매개 변수로 여러 변수를 전달하고 여러 변수를 배열에 푸시할 수 있습니다. 같은 시간. 형식은 다음과 같습니다.

(array array,mixed variable [,mixed variable...])

다음 예에서는 $fruits 배열에 두 개의 과일을 더 추가합니다.

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

배열 헤드에서 값 삭제

array_shift() 함수는 배열에서 찾은 요소를 제거하고 반환합니다. 결과적으로 숫자 키를 사용하면 해당 값이 모두 아래로 이동하지만 연관 키를 사용하는 배열은 영향을 받지 않습니다. 형식은 다음과 같습니다.

mixed array_shift(array array)

다음 예에서는 $fruits 배열의 첫 번째 요소 apple을 삭제합니다.

$fruits = array("apple","banana","orange","pear");
$fruit = array_shift($fruits);
// $fruits = array("banana","orange","pear")
// $fruit = "apple";

배열 끝에서 요소 삭제

array_pop() 함수는 배열의 마지막 요소를 제거하고 반환합니다. 형식은 다음과 같습니다.

mixed array_pop(aray target_array);

다음 예에서는 $states 배열에서 마지막 상태를 제거합니다.

$fruits = array("apple","banana","orange","pear");
$fruit = array_pop($fruits);
//$fruits = array("apple","banana","orange");
//$fruit = "pear";

배열 요소 찾기, 필터링 및 검색은 배열 작업의 몇 가지 일반적인 기능입니다. 다음은 몇 가지 관련 기능입니다.

in_array() 함수

in_array() 함수는 배열에서 특정 값을 검색하여 해당 값이 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 형태는 다음과 같습니다.
boolean in_array(mixed needle,array haystack[,boolean strict]);
변수 apple이 이미 배열에 있는지 알아보기 위해 다음 예제를 살펴보겠습니다. 그렇다면 정보를 출력합니다.

$fruit = "apple";
$fruits = array("apple","banana","orange","pear");
if( in_array($fruit,$fruits) ) 

echo "$fruit가 이미 배열에 있습니다.";
세 번째 인수는 선택 사항이며 검색 시 in_array()가 유형을 고려하도록 강제합니다.

array_key_exists() 함수

지정된 키가 배열에서 발견되면 array_key_exists() 함수는 true를 반환하고, 그렇지 않으면 false를 반환합니다. 형태는 다음과 같습니다.
부울 array_key_exists(혼합 키, 배열 배열);
다음 예에서는 배열 키에서 apple을 검색하고, 발견되면 과일의 색상을 출력합니다.

$fruit["apple"] = "red";
$fruit["banana"] = "yellow";
$fruit["pear"] = "green";
if(array_key_exists("apple", $fruit)){
 printf("apple's color is %s",$fruit["apple"]);
}

이 코드를 실행한 결과:

apple's color is red

array_search() 함수

array_search() 함수는 배열에서 지정된 값을 검색하고, 발견되면 해당 키를 반환하고, 그렇지 않으면 false를 반환합니다. 형태는 다음과 같습니다.

mixed array_search(mixed needle,array haystack[,boolean strict])

다음 예에서는 특정 날짜(12월 7일)에 대해 $fruits를 검색하고, 찾은 경우 해당 주에 대한 정보를 반환합니다.

$fruits["apple"] = "red";
$fruits["banana"] = "yellow";
$fruits["watermelon"]="green";
$founded = array_search("green", $fruits);
if($founded) 
 printf("%s was founded on %s.",$founded, $fruits[$founded])

프로그램 실행 결과는 다음과 같습니다.

watermelon was founded on green.

array_keys() 함수

array_keys() 함수는 검색된 배열에서 찾은 모든 키가 포함된 배열을 반환합니다. 형태는 다음과 같습니다.

array array_keys(array array[,mixed search_value])

선택적 매개변수인 search_value가 포함된 경우 해당 값과 일치하는 키만 반환됩니다. 다음 예에서는 $fruit 배열에 있는 모든 배열을 출력합니다.

$fruits["apple"] = "red";
$fruits["banana"] = "yellow";
$fruits["watermelon"]="green";
$keys = array_keys($fruits);
print_r($keys);

프로그램 실행 결과는 다음과 같습니다.

Array ( [0] => apple [1] => banana [2] => watermelon )

array_values() 함수

array_values() 함수는 배열의 모든 값을 반환하고 반환된 배열에 대한 숫자 인덱스를 자동으로 제공합니다. 형태는 다음과 같습니다.

array array_values(array array)

다음 예에서는 $fruits에 있는 각 요소의 값을 가져옵니다.

$fruits["apple"] = "red";
$fruits["banana"] = "yellow";
$fruits["watermelon"]="green";
$values = array_values($fruits);
print_r($values);

프로그램 실행 결과는 다음과 같습니다.

Array ( [0] => red [1] => yellow [2] => green )

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