배열에 PHP의 특정 값이 포함되어 있는지 어떻게 확인할 수 있습니까?
Array 유형의 PHP 변수가 있으며 특정 값이 포함되어 있는지 확인하고 사용자에게 해당 값이 있음을 알리고 싶습니다. 이것은 내 배열입니다.
Array ( [0] => kitchen [1] => bedroom [2] => living_room [3] => dining_room)
그리고 나는 다음과 같이하고 싶습니다.
if(Array contains 'kitchen') {echo 'this array contains kitchen';}
위의 작업을 수행하는 가장 좋은 방법은 무엇입니까?
in_array()
기능을 사용하십시오 .
$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 ] )
strict가 설정되지 않은 경우 느슨한 비교를 사용하여 haystack에서 needle을 검색합니다.
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";
Following is how you can do this:
<?php
$rooms = ['kitchen', 'bedroom', 'living_room', 'dining_room']; # this is your array
if(in_array('kitchen', $rooms)){
echo 'this array contains kitchen';
}
Make sure that you search for kitchen and not Kitchen. This function is case sensitive. So, the below function simply won't work:
$rooms = ['kitchen', 'bedroom', 'living_room', 'dining_room']; # this is your array
if(in_array('KITCHEN', $rooms)){
echo 'this array contains kitchen';
}
If you rather want a quick way to make this search case insensitive, have a look at the proposed solution in this reply: https://stackoverflow.com/a/30555568/8661779
Source: http://dwellupper.io/post/50/understanding-php-in-array-function-with-examples
'Programing' 카테고리의 다른 글
프레임 워크의 Xcode에서 경고 비활성화 (0) | 2020.12.03 |
---|---|
드롭 다운 자바 스크립트에서 값을 선택하는 방법은 무엇입니까? (0) | 2020.12.03 |
Jquery-하나 이상의 확인란이 선택되어 있는지 확인 (0) | 2020.12.03 |
SQL 쿼리로 데이터없이 mysql 테이블 구조를 덤프하는 방법은 무엇입니까? (0) | 2020.12.03 |
Android OS에서 사용할 수있는 IPC 메커니즘은 무엇입니까? (0) | 2020.12.03 |