모든 오류보고 기능을 사용하여 정의되지 않은 색인을 정리했습니다. 앱을 더 깔끔하게 만듭니다. 나는 호기심 행동을 눈치 챘 :정의되지 않은 색인은 얼마나 엄격합니까?
내가 if ($a['nothere'])
을 할 경우 $a = array('test' => false, 'foo' => 'bar')
, 나는 제대로 Undefined index: nothere
의 통지를 얻을 :
것은 이제 나는 다음과 같은 배열을 가정 해 봅시다.
그러나 내가 if ($a['test']['nothere'])
일 경우, 은이 아닙니다. 조금도. nothere
에도 불구하고 $a['test']
의 색인이 아닙니다.
이제 $a['test'] = array('baz' => 'poof')
을 실행하면 if ($a['test']['nothere'])
을 실행하면이 실행됩니다.
정의되지 않은 인덱스 검사는 빈 배열의 인덱스를 확인하지 않습니까? 이것은 PHP 5.2.8에 있습니다.
[] 문자열 액세스 구문 및 유형 저글링 때문일 가능성이 큽니다. '$ a = array ('test'=> array(), 'foo'=> 'bar')'오류 메시지가 나타나면 –
hah, 이전 copyedit 인 @Piskvor에 의한 기이 한 구조를 편집 해 주셔서 감사합니다. : P – Andrew
아, 그래서 if ($ a [ 'test'] [ 'nothere'])'를 할 때'if ($ a [ 'test']) 그것은'거짓'과 단락으로 풀리는가? – Andrew