PHP 매뉴얼
이전 | D. 부록. PHP/FI 2 에서 PHP 3로 이주하기 | 다음

# 다른 비호환성

- PHP 3.0의 아파치 모듈은 더이상 아파치 1.2 이전 버전을 지원하지 않는다. 아파치 1.2 이후 버전이 필요하다.

- echo()는 더이상 포맷화된 문자열을 지원하지 않는다. 대신 printf() 함수를 사용하도록 한다.

- PHP/FI 2.0에서, 구현상의 사이드-이펙트는 `$foo`와 같은 결과를 내기 위해서 `$foo[0]`를 사용한다. 이런 구현은 PHP 3.0에서는 사용되지 않는다.

- `$array[]`로 배열을 읽는것은 더이상 지원되지 않는다.

  즉, `$data = $array[]`를 수행하는 루프를 통해서 배열을 돌아다닐수는 없다. 대신 current()와 next()를 사용한다.

  `$array1[] = $array2`는 `$array1`에 `$array2`값을 추가하지 않는다. 그러나 `$array1`의 마지막 구성요소로서 `$array2`을 추가한다. 다차원 배열 지원에 대한 것도 참고할것.

- `"+"`는 그 인자를 숫자로 변환하고 숫자 덧셈을 수행하는 것 외의 문자열의 결합 연산자로 더이상 오버로드되지 않는다. 대신 `"."`을 사용하자.

예 D-11. 2.0으로부터의 이주: 문자열의 결합

`echo "1" + "1";`

PHP 2.0에서 이 코드는 11을 echo하지만, PHP 3.0에서는 대신 2를 echo한다:

`echo "1"."1";`

`$a = 1; $b = 1; echo $a + $b;`

이 코드는 PHP 2.0과 3.0 모두 2를 echo한다.

`$a = 1; $b = 1; echo $a.$b;`

이 코드는 PHP 3.0에서 11을 echo한다.

이전 | 처음으로 | 다음
함수 `TRUE`/`FALSE` 리턴 값 | 위로 | PHP 디버깅하기