Why strange IF...ELSE behavior

Ask a Question related to PHP Development, Design and Development.

  1. #1

    Default Why strange IF...ELSE behavior

    Hi all,

    I'm getting a strange result with the following IF statement:

    $bar = ($foo == 'last') ? true : false;

    In my script $foo normaly has a integer value greater than 0, but can have
    last as value. But whatever value of $foo $bar always becomes true.
    When I use the regular if {....}else{....} I get the same result, always
    $bar becomes true.
    I've played around with a couple things, like turning the statement around
    ($foo != 'last') but nothing seems to give the desired result.
    Can anyone tell me what I'm doing wrong or how to fix this.

    Thanx,
    J-P


    J-P Guest

  2. Similar Questions and Discussions

    1. Strange behavior
      The problem seems to be in c code calling ruby calling c code. ======== start test.rb puts "about to require curses" require "curses" puts...
    2. Strange behavior of $.
      Apparently $. is not always set correct (see second ruby 1liner). Is this a bug? 12:12:42 : cat -n n 1 2 3 BAR="hello" 4 12:12:47 : ruby...
    3. Re[2]: Strange behavior of DBI/DBD::Informix
      Thank you for the reply. Sorry, I wrote late in the evening and forgot to post my configuration: Perl 5.6.1 AIX 4.2.1 (I know it's old...
    4. Strange behavior of DBI/DBD::Informix
      I tried sending this problem to the address specified in DBD::Informix::TechSupport (perldoc) - dbd-informix@us.ibm.com but...
    5. Strange behavior of DBD/DBI Informix
      I am not sure if this list is the best one to post to regarding this problem. If not please point me to the better one. Consider the following...
  3. #2

    Default Re: Why strange IF...ELSE behavior

    J-P écrivit:
    > Hi all,
    >
    > I'm getting a strange result with the following IF statement:
    >
    > $bar = ($foo == 'last') ? true : false;
    >
    > In my script $foo normaly has a integer value greater than 0, but can
    > have last as value. But whatever value of $foo $bar always becomes
    > true.
    It's due to the silent type casting of php
    you should use === instead of ==


    --
    P'tit Marcel
    P'tit Marcel Guest

  4. #3

    Default Re: Why strange IF...ELSE behavior

    >
    > It's due to the silent type casting of php
    > you should use === instead of ==
    >
    Thanx that did it, never to late to learn something.


    J-P Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139