PHP에서 배열에서
$ar[a] = 1 과 $ar['a'] = 1
이 차이가 있나요?
error_reporting(E_ALL); 을 넣어보시면 차이를 알 수 있을 겁니다.
우수하지 않아요. '우수한'은 옛날 만화 CityHunter에서 따와서 쓰던 별명. ;-)
<?php define('a', 'merong'); $ar[a] = 1; $ar['a'] = 1; print_r($ar); ?>
PHP 에서는 $ar[a] 처럼 사용하면 a 를 define 된 것으로 인식해서 a가 뭘로 define 되어 있는지 확인합니다. 그런데 a 가 define 되어 있지 않다면 문자열로 간주하고 처리합니다.
비슷한 이유로 아래의 array 선언도...
$arr = array( alpha => 'blah', beta => 'blahblah', );
요렇게 바꾸는 게 좋습니다.
$arr = array( 'alpha' => 'blah', 'beta' => 'blahblah', );
개인적으로 php에서 가장 초난감한 behavior라고 생각합니다. :S
- 토끼군
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
error_reporting(E_ALL); 을 넣어보시면 차이를 알 수
error_reporting(E_ALL); 을 넣어보시면 차이를 알 수 있을 겁니다.
우수하지 않아요. '우수한'은 옛날 만화 CityHunter에서 따와서 쓰던 별명. ;-)
[code:1]<?phpdefine('a', 'mer
PHP 에서는 $ar[a] 처럼 사용하면a 를 define 된 것
PHP 에서는
$ar[a] 처럼 사용하면
a 를 define 된 것으로 인식해서 a가 뭘로 define 되어 있는지 확인합니다.
그런데 a 가 define 되어 있지 않다면 문자열로 간주하고 처리합니다.
비슷한 이유로 아래의 array 선언도...[code:1]$arr
비슷한 이유로 아래의 array 선언도...
요렇게 바꾸는 게 좋습니다.
개인적으로 php에서 가장 초난감한 behavior라고 생각합니다. :S
- 토끼군
댓글 달기