echo explode(',', '1,2,3')[0];

 

언뜻 보면 문제없어 보이지만 빨간색 부분은 php 5.4 이상부터 지원하며 그 이전버전에서는 다음과 같은 오류가 발생합니다.

PHP Parse error:  syntax error, unexpected '[', expecting ',' or ';'

만약 배포할 목적으로 개발을 하신다면 사용하지 않을 것을 권장합니다.

  • profile
    위의 예제는 아래와 같이 바꾸면 모든 PHP 버전에서 정상 동작합니다.

    echo current(explode(',', '1,2,3'));

    current() 함수는 배열에서 현재 포인터가 위치한 자리의 데이터를 반환하는데, 방금 만든 배열이니까 포인터가 맨 앞에 있어서 맨 처음 데이터를 반환하게 되지요.
  • profile ?

    네 맞습니다 말씀하신 것처럼 하게 되면 오류가 발생하지 않고 잘 동작하지요

  • profile

    <삭제>

  • profile profile
    지원을 지향하는것만 보면 안될상황이죠..
    호스팅업체의 동향이나.. 기존에 몰라서 수정안하고 계신분들의경우도 굽이 살펴주셔야..T^T
  • profile ?

    XE가 어떤 버전부터 지원하느냐에 상관없이 배포용 소스는 여러 버전을 지원해야 하므로 주의를 요해요.

    그러지 않으면 사용자는 안된다고 하는데 개발자 입장에선 재현이 안되므로 이슈를 해결하기 곤란해질 수 있어요.

  • profile
    문자열을 배열로 바꾼걸 한번에 처리하는 방법도 있군요...-0-;;;
    전 배열을 변수로 저장한다음 그걸 불러오는 방법을 썼는데....-0-;;;
  • ?
    PHP 버전을 떠나서, 가독성이 떨어지는 코딩 스타일이라... 한 번 보고 다시는 안 볼 것 같다면 저렇게 할 것 같네요.