[array 함수]array_key_exists, isset, in_array, array_search

Language/PHP 2010. 7. 9. 17:24

array_key_exists

(PHP 4 >= 4.1.0, PHP 5)

array_key_exists -- 주어진 키와 인덱스가 배열에 존재하는지 확인한다

설명

bool array_key_exists ( mixed key, array search)

array_key_exists() 는 주어진 key가 배열 안에서 설정되어 있으면 TRUE를 반환한다. key는 배열 인덱스로 사용할수 있는 어떤값이든 될수 있다.

예 1. array_key_exists() 예제코드

<?php
$search_array
= array("first" => 1, "second" => 4);
if (
array_key_exists("first", $search_array)) {
    echo
"The 'first' element is in the array";
}
?>

참고: PHP 버전 4.0.6에서는 이 함수의 이름은 key_exists()이다

isset

(PHP 3, PHP 4, PHP 5 )

isset -- 존재하는 변수인지 확인합니다.

설명

bool isset ( mixed var [, mixed var [, ...]])

var가 존재하면 TRUE를, 존재하지 않는 다면 FALSE를 반환합니다.

변수를 unset()으로 지우면, 더 이상 존재하지 않습니다. NULL로 지정한 변수를 확인하면 isset()FALSE를 반환합니다. NULL 바이트("\0")는 PHP NULL 상수와 다릅니다.

경고: isset()은 변수만을 받아들이며, 다른 것에는 문법 에러를 발생합니다. 상수가 정의되었는지 확인하려면 defined() 함수를 사용하십시오.

<?php

$var
= '';

// TRUE이기에 텍스트를 출력합니다.
if (isset($var)) {
    echo
"이 변수는 존재하기에 출력합니다.";
}

// 다음 예제는 isset()의 반환값을
// 출력하기 위해서 var_dump를 사용합니다.

$a = "test";
$b = "anothertest";

var_dump(isset($a));     // TRUE
var_dump(isset($a, $b)); // TRUE

unset ($a);

var_dump(isset($a));     // FALSE
var_dump(isset($a, $b)); // FALSE

$foo = NULL;
var_dump(isset($foo));   // FALSE

?>

배열 요소와도 작동합니다:

<?php

$a
= array ('test' => 1, 'hello' => NULL);

var_dump(isset($a['test']));             // TRUE
var_dump(isset($a['foo']));              // FALSE
var_dump(isset($a['hello']));            // FALSE

// 'hello' 키는 NULL이기에 정의되지 않은 것으로 판단합니다.
// NULL 키를 확인하려면 다음을 실행하십시오:
var_dump(array_key_exists('hello', $a)); // TRUE

?>

참고: 이것은 함수가 아닌 언어 구조이기 때문에, 변수 함수 방식으로 호출할 수 없습니다.

in_array

(PHP 4 , PHP 5)

in_array -- 배열에서 값이 존재하는지 점검한다

설명

bool in_array ( mixed needle, array haystack [, bool strict])

haystack에서 needle을 검색해서 배열안에서 발견되면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환한다.

세번째 매개변수 strictTRUE로 설정되면, in_array() 함수는 haystack 안의 needle타입도 점검할것이다.

참고: needle이 문자열이면, 대소문자를 구별하여 비교가 수행된다.

참고: PHP 4.2.0 이전 버전에서는 needle은 배열에서 허용되지 않았다.

예 1. in_array() 예제코드

<?php
$os
= array ("Mac", "NT", "Irix", "Linux");
if (
in_array ("Irix", $os)) {
    print
"Got Irix";
}
if (
in_array ("mac", $os)) {
    print
"Got mac";
}
?>

in_array()는 대소문자를 구별하기 때문에 두번째 조건은 실패한다. 그래서 위 프로그램은 다음과 같이 출력된다:

Got Irix

예 2. in_array()의 엄격한 예제코드

<?php
$a
= array('1.10', 12.4, 1.13);

if (
in_array('12.4', $a, TRUE)) {
    echo
"'12.4' found with strict check\n";
}

if (
in_array(1.13, $a, TRUE)) {
    echo
"1.13 found with strict check\n";
}
?>

위 코드는 다음과 같이 출력된다:

1.13 found with strict check

예 3. needle 이 배열인 in_array()

<?php
$a
= array(array('p', 'h'), array('p', 'r'), 'o');

if (
in_array(array ('p', 'h'), $a)) {
    echo
"'ph' was found\n";
}

if (
in_array(array ('f', 'i'), $a)) {
    echo
"'fi' was found\n";
}

if (
in_array('o', $a)) {
    echo
"'o' was found\n";
}

/* Outputs:
  'ph' was found
  'o' was found
*/
?>

array_search

(PHP 4 >= 4.0.5, PHP 5)

array_search --  배열에서 주어진 값을 검색하고 성공하면 해당 키를 반환한다

설명

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

haystack에서 needle을 검색하고 배열에서 그 값이 발견되면 그 키를 반환하고, 그렇지 않으면 FALSE를 반환한다.

참고: PHP 4.2.0 이전에서는, array_search()는 실패시 FALSE 대신 NULL을 반환한다.

선택적인 세번째 매개변수인 strictTRUE로 설정되면 array_search()haystack에서 needle의 타입도 함께 검사할것이다.

주의

이 함수는 Boolean FALSE를 반환하지만, 0이나 ""와 같은 FALSE로 취급하는 Boolean이 아닌 값을 반환할 수도 있습니다. Booleans 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

'Language > PHP' 카테고리의 다른 글

eval  (0) 2010.07.14
환경 변수 및 사용 방법, <?= $REMOTE_ADDR ?>, <?= getenv("REMOTE_ADDR") ?>, <?= $_SERVER["REMOTE_ADDR"] ?>  (1) 2010.07.13
headers already sent by 에러  (0) 2010.07.05
cookie  (0) 2010.07.05
implode(),explode()  (0) 2010.07.02
: