2012-05-02 4 views
3

PHP 매뉴얼 상태 : C는 아닌 문자 변수에 대한 산술 연산을 처리 할 때 PHP는 Perl의 규칙을 따릅니다. 예를 들어, PHP와 Perl에서 $a = 'Z'; $a++;은 $ a를 'AA'로 바꾸고, 은 (ASCII 값 'Z'는 90, ASCII 값 '['은 91)으로 바뀝니다. C a = 'Z'; a++;에는 'php가 문자를 증가시키는 이유 이해

PHP가 문자에 대한 산술 연산을 처리 할 때 문자를 ascii 값 (가정)으로 변환하는 경우 AA 대신 '['를 인쇄해야합니까? 왜 그리고 어떻게 PHP가 문자를 증가 시키는가?

+2

왜?, 왜냐하면 그들이 선택한 방식 때문입니다. 어떻게?, 출처를 읽으십시오. – Petah

+0

아, 근본적으로 기본 26 세. – Petah

+0

Perl의 규칙을 따릅니다. 즉, ASCII 값으로 문자를 처리하지 않습니다. 그것이 작동하는 방식은 이상한 특질의 부산물이 아니라 고의적 인 선택입니다. – deceze

답변

2

PHP는 ASCII 값 (가정) 문자에 대한 산술 연산을 처리 할 때 문자로 변환하면 ...

"0"0가 동등한 취급하기 때문에 귀하의 가정이, 거짓, 대신 "0"48.

$ php 
<?php 
echo "0" == 0 ; echo "\n"; 
echo "0" == 48 ; echo "\n"; 
1 
​