note 16659 deleted from language.variables.predefined by jimw
| From: | jimw@php.net | Date: | Sat, 10 Nov 2001 23:27:07 +0000 |
| Subject: | note 16659 deleted from language.variables.predefined by jimw | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-20684@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;}}}
?>