>  기사  >  백엔드 개발  >  PHP의 배열에 지정된 값이 포함되어 있는지 확인하는 방법

PHP의 배열에 지정된 값이 포함되어 있는지 확인하는 방법

PHPz
PHPz원래의
2023-04-26 14:24:19487검색

PHP 프로그래밍에서 요소가 배열에 있는지 확인하는 것은 일반적인 작업이며 in_array 함수를 사용하여 구현할 수 있습니다. 그러나 일부 개발자는 기본 PHP 구문을 사용합니다. 즉, "==" 또는 "==="를 사용하여 판단할 수 있습니다. 따라서 이 글에서는 PHP가 배열에 포함되는지 여부와 관련된 문제에 대해 논의할 것입니다.

1. in_array 함수 사용

in_array는 요소가 배열에 있는지 확인하기 위해 PHP에서 제공하는 함수입니다. 구문은 다음과 같습니다.

bool in_array ( 혼합 $needle , 배열 $haystack [, bool $strict = FALSE ] )

이 함수는 세 가지 매개변수를 받습니다:

  1. needle: 찾을 요소
  2. haystack: 찾을 배열
  3. strict: 엄격 모드 사용 여부. true인 경우 요소가 배열 요소와 동일한 유형인지 확인합니다(유형 및 값 모두 일치).

예를 들어 다음 코드에서는 in_array를 사용하여 "apple"이 $fruits 배열에 있는지 확인합니다.

$fruits = array('banana', 'apple', 'orange');
if (in_array('apple', $fruits)) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}

위 코드는 "Yes, apple is in the Fruits 배열"을 출력합니다. 왜냐하면 "apple"이 실제로 배열의 $fruits에 있습니다.

2. 요소가 배열에 있는지 확인하는 기본 PHP 구문

일부 개발자는 비교를 위해 "==" 또는 "==="를 사용하는 것과 같이 요소가 배열에 있는지 확인하기 위해 기본 PHP 구문을 사용할 수 있습니다. . 예:

$fruits = array('banana', 'apple', 'orange');
if ('apple' == $fruits[1]) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}

이 코드는 in_array를 사용하는 코드와 동일합니다. 둘 다 "예, 사과는 과일 배열에 있습니다"를 출력합니다. "apple"은 $fruits[1]과 동일한 값을 갖기 때문입니다.

그러나 기본 PHP 구문을 사용하여 요소가 배열에 있는지 확인하면 특히 "==="를 사용할 때 다른 결과가 나올 수 있습니다.

예를 들어 다음 코드에서는 정수 1과 문자열 '1'을 모두 배열 요소와 비교합니다.

$test_array = array('1', '2', '3');
var_dump(1 == $test_array[0]);    // true
var_dump('1' == $test_array[0]);  // true,因为'1'会被转换成整型1
var_dump(1 === $test_array[0]);   // false,类型不匹配
var_dump('1' === $test_array[0]); // false,类型不匹配

위 코드에서 비교를 위해 "=="를 사용할 때 정수 1인지 또는 문자열 '1'은 정수형 1로 변환되므로 배열 요소 '1'과 동일합니다.

그러나 "===" 비교를 사용할 경우 유형이 일치하지 않기 때문에(하나는 정수이고 다른 하나는 문자열) 비교 결과는 false입니다.

3. 요소가 배열에 있는지 확인하는 다른 방법

in_array 함수와 기본 PHP 구문을 사용하는 것 외에도 요소가 배열에 있는지 확인하는 다른 방법이 있습니다.

  1. array_search 함수

array_search 함수는 배열에서 요소를 찾아 해당 키 이름을 반환할 수 있습니다. 발견되지 않으면 false를 반환합니다. 예:

$fruits = array('banana', 'apple', 'orange');
$key = array_search('apple', $fruits);
if ($key !== false) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}

위 코드에서 'apple'이 발견되면 해당 키 이름 1이 반환되므로 "예, 사과는 과일 배열에 있습니다"가 출력됩니다.

  1. in_array 함수와 array_flip 함수의 결합

in_array 함수와 array_flip 함수의 결합을 사용하면 요소가 배열에 있는지 빠르게 확인할 수 있지만 배열의 값은 고유해야 한다는 점에 유의해야 합니다.

$fruits = array('banana', 'apple', 'orange');
$flip_fruits = array_flip($fruits); // 交换键和值
if (isset($flip_fruits['apple'])) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}

위 코드에서는 $fruits 배열의 키와 값을 교환하여 새로운 $flip_fruits 배열을 얻습니다. 그런 다음 isset 함수를 사용하여 'apple'이 $flip_fruits 배열의 키인지 확인합니다. 그렇다면 'apple'은 $fruits 배열에 있습니다.

IV. 요약

PHP 프로그래밍에서 요소가 배열에 있는지 판단하는 것은 일반적인 작업이며 in_array 함수를 사용하여 구현할 수 있습니다. 이 함수는 기본 PHP 구문을 사용하여 구현할 수도 있지만 유형 일치 문제에 주의해야 합니다. 또한 array_search 함수, in_array 함수와 array_flip 함수를 결합하는 등 다른 방법도 사용할 수 있습니다.

마지막으로, 이 글이 배열을 다룰 때 PHP 개발자에게 도움이 되기를 바랍니다.

위 내용은 PHP의 배열에 지정된 값이 포함되어 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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