简体   繁体   中英

How can I use PHP's isset() in addition to empty()?

How would I add isset() and keep the empty() on my code below?

$pagesize = (!empty($_GET['pagesize'])) ? $_GET['pagesize'] : 20;

UPDATE:

I am just wanting to make sure php doesn't produce any notices or warnings

Is this what you mean?

$pagesize = (isset($_GET['pagesize']) && !empty($_GET['pagesize'])) ? 
                $_GET['pagesize'] :
                20;

http://us.php.net/manual/en/language.operators.logical.php

EDIT:
To be complete, empty already checks if something is set, so you don't need to use isset() as well.
I would also caution against using this code if it is going directly into a query or something similar. Consider using intval , is_numeric and similar functions.

I'm not sure exactly what you're after here. isset will check if a value has been set and return true if it has. empty will check if a value hasn't been set OR if it equates to false (eg: 0, "", null ) and return true if it does.

I can't see why you'd need to combine the two. To rewrite your example without empty , you'd do this:

$pagesize = isset($_GET['pagesize']) && $_GET['pagesize']
          ? $_GET['pagesize']
          : 20;

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM