note 16659 added to language.variables.predefined
| From: | tagg dot maiwald at astrispora dot com | 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