note 16659 added to language.variables.predefined

From: Date: Thu, 08 Nov 2001 06:26:08 +0000
Subject: note 16659 added to language.variables.predefined
Groups: php.notes 
Request: Send a blank email to php-notes+get-20594@lists.php.net to get a copy of this message
PHP variables are stored in arrays. This script will parse through one or more arrays, and determine if a variable name (or list of variable names) matches a key or sub-key name. For starters, this lets you determine if HTTP_REFER, REQUEST_URI or other variable is defined before trying to read their values and generating an error. In example: <CODE>$found_vars_list=get_vars_ary($HTTP_SERVER_VARS,'REQUEST_URI'); print_r($found_vars_list); </CODE> <?php if (! defined("__my_func_get_vars")) {define ("__my_func_get_vars", TRUE); function get_vars_ary($vars_ary,$sz_vars='') {if (is_array($sz_vars)){foreach($sz_vars as $sz_v){$v_var_ary=get_vars_ary($vars_ary,$sz_v);if (is_array($v_var_ary)) {$v_ret_ary=(isset($v_ret_ary))?array_merge_recursive($v_ret_ary,$v_var_ary):$v_var_ary;}}}else{if (is_array($vars_ary)){while(list($key, $val) = each($vars_ary)){if (is_array($val)){foreach($val as $v){$v_var_ary=get_vars_ary($v,$sz_vars);if (is_array($v_var_ary)) {$v_ret_ary=(isset($v_ret_ary))?array_merge_recursive($v_ret_ary,$v_var_ary):$v_var_ary;}}}else{if (1>strlen($sz_vars)||(0==strcmp($key,$sz_vars))) {$v_ret_ary=(isset($v_ret_ary))?array_merge_recursive($v_ret_ary,array($key=>$val)):array($key=>$val);}}}}} // if ((isset($v_ret_ary))&&(is_array($v_ret_ary))&&(0<sizeof($v_ret_ary))) {return $v_ret_ary;} if ((isset($v_ret_ary))&&(is_array($v_ret_ary))) {return $v_ret_ary;}}} ?> -- http://www.php.net/manual/en/language.variables.predefined.php http://master.php.net/manage/user-notes.php?action=edit+16659 http://master.php.net/manage/user-notes.php?action=delete+16659 http://master.php.net/manage/user-notes.php?action=reject+16659

« previous php.notes (#20594) next »