어레이 값이 존재하는지 확인하는 방법
어떻게 하면 확인할 수 있는 방법$something['say']
의 가치가 있다'bla'
또는'omg'
?
$something = array('say' => 'bla', 'say' => 'omg');
PHP in_array 함수를 사용할 수 있습니다.
if( in_array( "bla" ,$yourarray ) )
{
echo "has bla";
}
지시 사용if
?
if(isset($something['say']) && $something['say'] === 'bla') {
// do something
}
그런데, 당신은 키를 사용하여 값을 할당하고 있습니다.say
따라서 어레이는 값이 1개뿐인 어레이가 됩니다.
사용방법: in_array()
$search_array = array('user_from','lucky_draw_id','prize_id');
if (in_array('prize_id', $search_array)) {
echo "The 'prize_id' element is in the array";
}
출력은 다음과 같습니다. The 'prize_id' element is in the array
사용방법: array_key_exists()
$search_array = array('user_from','lucky_draw_id','prize_id');
if (array_key_exists('prize_id', $search_array)) {
echo "The 'prize_id' element is in the array";
}
출력 없음
결론적으로,array_key_exists()
단순한 어레이에서는 동작하지 않습니다.어레이 키가 존재하는지 여부를 확인하는 것 뿐입니다.사용하다in_array()
대신.
다음은 다른 예입니다.
<?php
/**++++++++++++++++++++++++++++++++++++++++++++++
* 1. example with assoc array using in_array
*
* IMPORTANT NOTE: in_array is case-sensitive
* in_array — Checks if a value exists in an array
*
* DOES NOT WORK FOR MULTI-DIMENSIONAL ARRAY
*++++++++++++++++++++++++++++++++++++++++++++++
*/
$something = array('a' => 'bla', 'b' => 'omg');
if (in_array('omg', $something)) {
echo "|1| The 'omg' value found in the assoc array ||";
}
/**++++++++++++++++++++++++++++++++++++++++++++++
* 2. example with index array using in_array
*
* IMPORTANT NOTE: in_array is case-sensitive
* in_array — Checks if a value exists in an array
*
* DOES NOT WORK FOR MULTI-DIMENSIONAL ARRAY
*++++++++++++++++++++++++++++++++++++++++++++++
*/
$something = array('bla', 'omg');
if (in_array('omg', $something)) {
echo "|2| The 'omg' value found in the index array ||";
}
/**++++++++++++++++++++++++++++++++++++++++++++++
* 3. trying with array_search
*
* array_search — Searches the array for a given value
* and returns the corresponding key if successful
*
* DOES NOT WORK FOR MULTI-DIMENSIONAL ARRAY
*++++++++++++++++++++++++++++++++++++++++++++++
*/
$something = array('a' => 'bla', 'b' => 'omg');
if (array_search('bla', $something)) {
echo "|3| The 'bla' value found in the assoc array ||";
}
/**++++++++++++++++++++++++++++++++++++++++++++++
* 4. trying with isset (fastest ever)
*
* isset — Determine if a variable is set and
* is not NULL
*++++++++++++++++++++++++++++++++++++++++++++++
*/
$something = array('a' => 'bla', 'b' => 'omg');
if($something['a']=='bla'){
echo "|4| Yeah!! 'bla' found in array ||";
}
/**
* OUTPUT:
* |1| The 'omg' element value found in the assoc array ||
* |2| The 'omg' element value found in the index array ||
* |3| The 'bla' element value found in the assoc array ||
* |4| Yeah!! 'bla' found in array ||
*/
?>
여기 있습니다
다음을 사용할 수 있습니다.
array_search()
in_array()
- 의 조합.
array_flip()
그리고.array_key_exists()
in_array()는 확인만 하는 경우에는 문제 없습니다만, 값이 존재하는지 확인하고 관련 키를 반환해야 하는 경우에는 array_search를 사용하는 것이 좋습니다.
$data = [
'hello',
'world'
];
$key = array_search('world', $data);
if ($key) {
echo 'Key is ' . $key;
} else {
echo 'Key not found';
}
「Key is 1」이라고 표시됩니다.
인덱스가 정의되어 있는지 확인하려면:isset($something['say'])
isset()을 사용하여 배열에 특정 요소가 있는지 여부를 테스트할 수 있습니다.또한 array_key_exists()보다 나은 경우도 있습니다(문서에서는 차이를 설명합니다).배열에 인덱스가 'say'인 요소가 있는지 확인할 수 없는 경우 먼저 테스트해야 합니다. 그렇지 않으면 'warning: undefined index...' 메시지가 표시될 수 있습니다.
요소의 값이 문자열과 동일한지 테스트에 대해서는 ==를 사용할 수도 있고, 타입 저글링을 허용하지 않는 아이덴티티 연산자 ===를 사용할 수도 있습니다.
if( isset($something['say']) && 'bla'===$something['say'] ) {
// ...
}
PHP 기능을 사용하면 됩니다.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
if (in_array('your_variable', $Your_array)) {
$redImg = 'true code here';
} else {
$redImg = 'false code here';
}
?>
우선, 어소시에이트 어레이는, 1 회만 키를 정의할 수 있기 때문에, 이 어레이는 존재하지 않습니다.그렇지 않으면 그냥 사용하세요.in_array()
특정 어레이 요소가 가능한 솔루션 배열에 있는지 확인합니다.
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
in_array의 다른 용도 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";
}
?>
심플 어레이를 사용하고 있는 경우
.예.
$MyArray = array("red","blue","green");
이 기능을 사용할 수 있습니다.
function val_in_arr($val,$arr){
foreach($arr as $arr_val){
if($arr_val == $val){
return true;
}
}
return false;
}
사용방법:
val_in_arr("red",$MyArray); //returns true
val_in_arr("brown",$MyArray); //returns false
언급URL : https://stackoverflow.com/questions/2440506/how-to-check-if-an-array-value-exists
'it-source' 카테고리의 다른 글
MySQL CASE 구조 (0) | 2023.01.03 |
---|---|
권장되는 Python 메모리 프로파일러는 무엇입니까? (0) | 2023.01.03 |
온클릭 이벤트에서 여러 JavaScript 함수를 호출하려면 어떻게 해야 합니까? (0) | 2023.01.03 |
Vuetify에서 프리펜드 아이콘으로 정의된 아이콘 스타일링 (0) | 2023.01.03 |
"require"(Firefox 애드온 SDK)의 WebStorm 경고 "Unresolved function or method"(해결되지 않은 함수 또는 메서드)를 수정하려면 어떻게 해야 합니까? (0) | 2023.01.03 |