NYCPHP Meetup

NYPHP.org

[nycphp-talk] Re: Weird Switch Behavior

Michael B Allen ioplex at gmail.com
Tue Sep 9 22:44:34 EDT 2008


On Tue, Sep 9, 2008 at 10:31 PM, Michael B Allen <ioplex at gmail.com> wrote:
> Can someone explain why the below switch matches the 0 element?
>
> $ cat switch.php
> <?php
>
> $tmp = array(
>        'foo' => 1,
>        'bar' => 2,
>        'zap',
> );
>
> foreach ($tmp as $key => $val) {

Nevermind - $key is an int so 'foo' is being cast to an int which
evaluates to 0.

I think I would prefer that switch be a little more explicit.

>        switch ($key) {
>                case 'foo':
>                case 'bar':
>                        echo "[$key][$val]\n";
>                        break;
>        }
> }
>
> $ php -f switch.php
> [foo][1]
> [bar][2]
> [0][zap]

-- 
Michael B Allen
PHP Active Directory SPNEGO SSO
http://www.ioplex.com/



More information about the talk mailing list