배열이 정의되지 않았는지 어떻게 확인합니까? isset
및 empty
을 사용하고 있지만 둘 다 정의되지 않은 배열에서 작동하지 않습니다. 배열이 정의되지 않은 경우
이
내 코드입니다 :if (isset($content['menu']['main'])){
echo 'there is menu';
}
배열이 정의되지 않았는지 어떻게 확인합니까? isset
및 empty
을 사용하고 있지만 둘 다 정의되지 않은 배열에서 작동하지 않습니다. 배열이 정의되지 않은 경우
이
내 코드입니다 :if (isset($content['menu']['main'])){
echo 'there is menu';
}
사용하여 코드를 기반으로 예를 http://codepad.viper-7.com/Q3gTwn
배열 요소가 in_array
존재 있는지 확인할 수 있습니다
in_array('one', array('two', 'three', 'four')); // false
을 그리고 당신은 array_key_exists
으로 배열 인덱스를 확인할 수 있습니다
array_key_exists('metallica', array('metallica' => 'worst than megadeth')); // true
isset
기능을 사용하면 배열 또는 변수 e가 NULL
이 아니고 부울 True
또는 False
으로 해석 될 수있는 값이 포함되어 있고 0
보다 큰 정수이고 변수 값 (또는 배열 키/색인/요소)이 NULL
이 아닌 경우 해석 할 수있는 값이 포함되어 있습니다.
일반적으로 변수가 다음과 같이 설정되어 있는지 확인합니다 : is_null
그리고 배열 색인이나 요소가 동일한 배열 내에 정의되어 있는지 확인하는 데 사용할 수 있습니다.
EDIT :
변수로 배열되어있는 경우에도 확인할 수 (sizeof($something) > 0)
또는 함께 : is_array
기능 (들).
작업 Rikesh 및 mimipc
$arr = array("menu"=>array("main"=>1));
if (is_array($arr) && array_key_exists('menu', $arr)) {
echo "array";
}
에 의해 지정된이 코드는, 나는 당신이 기능 array_key_exists()을 찾고 생각합니다. 가변 $content
가 설정되어 있기 때문에
$content = array('menu'=>array());
echo isset($content);
>>> 1
echo array_key_exists('menu', $content);
>>> 1
if (array_key_exists('main', $content['menu'])) {
echo "Main menu exists";
} else {
echo "Main menu does not exist";
}
>>> Main menu does not exist
isset()
empty()
도 작동하지 빈하지 않을 수있다.
main
키가
$content['menu']
배열에 있는지 확인하려고합니다.
[is_array]를 의미합니까 (http://php.net/manual/en/function.is-array.php)? – Rikesh
array_key_exists()? – mimipc
예제에는 아무런 문제가 없습니다. '일하지 않는다 '는 것이 정확히 무엇을 의미합니까? – MrCode