On Sat, Oct 18, 2008 at 2:34 PM, Robert Cummings <robert@xxxxxxxxxxxxx> wrote: > > On Sat, 2008-10-18 at 08:44 -0700, Yeti wrote: > > I would understand it if it was like this .. > > > > <?php > > $search = isset($_GET['search']) ? $_GET['search'] : ''; > > # versus > > if (isset($_GET['search'])) { $search = $_GET['search']; } > > ?> > > > > In the first statement $search would either be set to $_GET['search'] > > or an empty string, whereas in the second statement $search would only > > be set, if there is a $_GET['search'] > > Wrong. They are equivalent. The second is probably just easier to follow > with a clearly defined default value outside the conditional block. > > Cheers, > Rob. No, they are not. In the first statement, $search is the value of $_GET['search'] if the key exists, or an empty string if it does not. In the second statement, $search is the value of $_GET['search'] if the key exists or retains its original value if the key does not exist. Andrew -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php