programing

배열에 특정 값이 php에 포함되어 있는지 확인하려면 어떻게 해야 합니까?

kingscode 2022. 10. 10. 21:50
반응형

배열에 특정 값이 php에 포함되어 있는지 확인하려면 어떻게 해야 합니까?

저는 Array 타입의 PHP 변수를 가지고 있는데, 그 변수가 특정 값을 포함하고 있는지 알아보고 사용자에게 그것이 존재함을 알리고 싶습니다.다음은 제 어레이입니다.

Array ( [0] => kitchen [1] => bedroom [2] => living_room [3] => dining_room) 

저는 이렇게 하고 싶어요

if(Array contains 'kitchen') {echo 'this array contains kitchen';}

상기의 가장 좋은 방법은 무엇입니까?

함수를 사용합니다.

$array = array('kitchen', 'bedroom', 'living_room', 'dining_room');

if (in_array('kitchen', $array)) {
    echo 'this array contains kitchen';
}
// Once upon a time there was a farmer

// He had multiple haystacks
$haystackOne = range(1, 10);
$haystackTwo = range(11, 20);
$haystackThree = range(21, 30);

// In one of these haystacks he lost a needle
$needle = rand(1, 30);

// He wanted to know in what haystack his needle was
// And so he programmed...
if (in_array($needle, $haystackOne)) {
    echo "The needle is in haystack one";
} elseif (in_array($needle, $haystackTwo)) {
    echo "The needle is in haystack two";
} elseif (in_array($needle, $haystackThree)) {
    echo "The needle is in haystack three";
}

// The farmer now knew where to find his needle
// And he lived happily ever after

in_array 참조

<?php
    $arr = array(0 => "kitchen", 1 => "bedroom", 2 => "living_room", 3 => "dining_room");    
    if (in_array("kitchen", $arr))
    {
        echo sprintf("'kitchen' is in '%s'", implode(', ', $arr));
    }
?>

어레이에서 검색 알고리즘을 사용해야 합니다.사용하시는 어레이의 크기에 따라 사용할 수 있는 어레이는 다양합니다.또는 다음 기본 제공 기능 중 하나를 사용할 수 있습니다.

http://www.w3schools.com/php/php_ref_array.asp

http://php.net/manual/en/function.array-search.php

http://php.net/manual/en/function.in-array.php 에서

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

엄격하지 않은 한 느슨한 비교를 사용하여 건초더미에서 바늘을 검색합니다.

if (in_array('kitchen', $rooms) ...

배열 검색에 동적 변수 사용

 /* https://ideone.com/Pfb0Ou */

$array = array('kitchen', 'bedroom', 'living_room', 'dining_room');

/* variable search */
$search = 'living_room';

if (in_array($search, $array)) {
    echo "this array contains $search";
} else
    echo "this array NOT contains $search";

그 방법은 다음과 같습니다.

<?php
$rooms = ['kitchen', 'bedroom', 'living_room', 'dining_room']; # this is your array
if(in_array('kitchen', $rooms)){
    echo 'this array contains kitchen';
}

반드시 키친이 아닌 키친을 검색해 주세요.이 함수는 대소문자를 구분합니다.따라서 다음 기능은 작동하지 않습니다.

$rooms = ['kitchen', 'bedroom', 'living_room', 'dining_room']; # this is your array
if(in_array('KITCHEN', $rooms)){
    echo 'this array contains kitchen';
}

검색의 케이스에 영향을 주지 않는 빠른 방법을 원하시면 다음 답변에서 제안된 솔루션을 참조하십시오.https://stackoverflow.com/a/30555568/8661779

출처 : http://dwellupper.io/post/50/understanding-php-in-array-function-with-examples

언급URL : https://stackoverflow.com/questions/8881676/how-can-i-check-if-an-array-contains-a-specific-value-in-php

반응형