>  기사  >  백엔드 개발  >  PHP의 배열과 문자열

PHP의 배열과 문자열

巴扎黑
巴扎黑원래의
2016-11-29 11:34:05989검색

PHP의 문법적 요구 사항이 엄격하지 않기 때문에 문자열을 배열로 사용할 수도 있으므로 문제가 있습니다. 문자열의 내용에 액세스하기 위해 숫자가 아닌 키를 키로 사용할 때 다음과 같이 일부 불일치가 발생할 수 있습니다.

1 $hello = "안녕하세요" ;

2 var_dump( $hello [ 'abc' ])

3 var_dump( $hello [ '0' ]);

4 var_dump( $hello [ '1abc' ]);

5 var_dump( $hello [ '12abc' ]);

결과:

'h'

'h'

'e'

''

출력 결과에 대해서는 이야기하지 않고 그냥 실행만 하면 됩니다. 그 이유는 intval 때문인 것으로 생각됩니다. 시간적 제약으로 인해 zend 코드를 확인하지는 못했지만, 다음 코드의 실행 결과 페이지에서는 몇 가지 문제점을 보여줍니다.

1 var_dump( intval ( ' abc ' ));

2 var_dump( intval ( '0' ));

3 var_dump( intval ( '1abc' )); ' 12abc' ));

이것은 코드 검토나 테스트 중에 매우 치명적인 버그입니다. 함수의 반환 값이 제대로 설계되지 않은 경우 때로는 배열을 반환하고 때로는 문자열을 반환합니다. 사용하기 전에 먼저 반환 결과가 배열인지 확인해야 합니다. 그렇지 않으면 이 버그가 보고됩니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.