독자,중복 키를 사용하여 배열을 만들 때 오류가 발생하는 방법은 무엇입니까?
동료가 행을 복제 할 때 약간 실수를해서 PHP가 오류를 발생시키지 않아 최근에 디버깅에서 40 분이 걸렸습니다.
원래 선은 선이 정말
$files = [
'identifier1' => '/path/to/file3'
];
과 같은 어느
$files = [
'identifier1' => '/path/to/file1',
'identifier1' => '/path/to/file2',
'identifier1' => '/path/to/file3'
];
이었다 어떻게 중복
$files = [
'identifier1' => '/path/to/file1',
'identifier2' => '/path/to/file2',
'identifier3' => '/path/to/file3'
];
후
$files = [
'identifier1' => '/path/to/file1'
];
의도 라인에 유사했다
실수로 PHP가 중복 키를 사용하여 배열을 정의하려고 시도 할 때 PHP가 오류를 발생시키는 방법이 있습니까?
이 옵션을 전역 적으로 사용하고 싶습니다. error_reporting (E_ALL)은 슬프게도 작동하지 않습니다.
동일한 키가 자동으로 덮어 씁니다. 따라서 최소한 두 번 이상 동일한 키를 얻을 수 없습니다.그래서 기본적으로'$ files = [ 'identifier1'=> '/ path/to/file1', 'identifier2'=> '/ path/to/file2', 'identifier3'=> '/ path/to/file3 ' ];'PHP에서는 달성 할 수 없습니다. 이것 후에 당신의 질문은 무엇입니까? –
@WOUNDEDStevenJones 그는 동일한 열쇠를 보여 주었고, 그래서 그들은 덮어 썼습니다. 그는 가치관에 대해 말하는 것이 아닙니다. –
@AlivetoDie 네 말이 맞아. 키를 확인하기 위해 http://php.net/manual/en/function.array-keys.php도 포함하도록 제안하려고했으나 어쨌든 작동하지 않습니다. 왜냐하면'count ($ files)' 어쨌든 1이 아니라 3을 반환합니다. – WOUNDEDStevenJones