2012-05-21 6 views
1

foreach 루프를 사용하여 배열을 반복 할 때 어떤 이유로 조건이 키와 문자열을 비교하지 못합니다. 내 배열에는 두 개의 인덱스가 있는데 첫 번째는 정수이고 두 번째 인덱스는 문자열입니다. 루프가 그 순간에 키가 문자열 하나라는 것을 발견하면배열 키 비교가 실패합니다.

$firmas[] = $credito['acreditado']; 
$firmas['cbi'] = "LIC. MARCELA SOTO ALARCÓN"; 

나는 다른 무언가를하고 싶지만 정수 인덱스를 평가 어떤 이유로 결과는 마찬가지입니다.

foreach($firmas as $key => $firma){ 
      var_dump($key); 
      var_dump($key=='cbi');die(); 
     } 

출력은

int(0) bool(true) 

입니다하지만 당신은 결과가 문자열의 정수 인덱스 참과 거짓이어야한다 '영업 비밀'때문에 조건이 문자열을 찾고 볼 수 있습니다.

여기가 어떻게됩니까?

+1

$ key === 'cbi' –

+0

을 사용하고 'die();'를 제거하면 첫 번째 반복 후에 정지하게됩니다 ... – Bart

답변

2

PHP에서 모든 문자열은 0과 동일하지만 동일합니다. == 대신 ===을 사용해보세요.

부록 : 숫자으로 시작하지 않는 모든 문자열 0과 같습니다.

+0

고맙습니다. –