On 15 Mar 2012, at 15:13, Daniel Brown wrote: > On Thu, Mar 15, 2012 at 11:04, Tedd Sperling <tedd.sperling@xxxxxxxxx> wrote: >> Hi gang: >> >> What's a better/shorter way to write this? >> >> $first_name = $_SESSION['first_name'] ? $_SESSION['first_name'] : null; >> $first_name = isset($_POST['first_name']) ? $_POST['first_name'] : $first_name; >> $_SESSION['first_name'] = $first_name; > > A simple reusable function and pass-through variable is one method: > > <?php > > session_start(); > $_SESSION['first_name'] = $first_name = > thisorthat(@$_POST['first_name'],null); > > function thisorthat($a,$b) { > return isset($a) ? $a : $b; > } > > ?> The @ prefix is banned from all code I go anywhere near - it's evil! I've used the following 'V' function for a long time, primarily for accessing the superglobals but it works for any array. <?php session_start(); $_SESSION['first_name'] = $first_name = V($_SESSION, 'first_name'); function V($arr, $key, $def = null) { return isset($arr[$key]) ? $arr[$key] : $def; } ?> -Stuart -- Stuart Dallas 3ft9 Ltd http://3ft9.com/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php