웹프로그래밍

Global It Leader!!


PHP


 
 

array_key_exists, isset, in_array, array_search 함수

페이지 정보

작성자 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 5,008회 작성일 12-03-10 12:40

본문

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 섹션에서 자세한 정보를 얻을 수 있습니다. 이 함수의 반환값을 테스트하기 위해서 === 연산자를 이용하십시오.

댓글목록

등록된 댓글이 없습니다.

전체 90
게시물 검색
PHP 목록
번호 제목 글쓴이 조회 날짜
30 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5476 06-08
29 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6411 04-22
28 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5106 04-22
27 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4562 04-22
26 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4486 04-22
25 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4879 04-22
24 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6503 04-20
23 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4288 04-07
22 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5645 03-21
21 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4278 03-21
열람중 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5009 03-10
19 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4716 03-10
18 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4322 03-04
17 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4609 02-29
16 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 4837 02-11
15 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 5595 11-11
14 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 7144 05-19
13 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6702 05-10
12 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 6577 04-18
11 no_profile 오원장쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 7366 03-31