我只需要知道它的 html 输入名称来检索 php 变量。
如:我知道输入的名字是 admin[username] 所以我想得到变量 $_POST['admin']['username]
我需要这个来对输入进行某种验证。换句话说,我在显示表单时保存了 html 输入名称,但只在下一个服务器请求时测试它,所以我并不总是知道 php 变量名称是什么,因为它可以通过 javascript 或我如果 html 输入名称是 admin[],则可以有这样的数组
谢谢
$postdata = get_associative_array_from_post_data($post['admin']);
function get_associative_array_from_post_data($array){
if(isAssoc($array)){
/*foreach($array as $key=>$value){
$your_key = $key;
$your_value = $value;
}*/
return $array;
}
else{ //if the post array has no keys, search for arrays within this
$key_collection=array();
foreach($array as $sub_array){
foreach($sub_array as $key=>$value){
$key_collection[$key][] = $value;
}
}
return $key_collection;
}
}
function isAssoc($arr)
{
return array_keys($arr) !== range(0, count($arr) - 1);
}
如果您发布:
admin[username] = 'test' 和 admin[email] = 'test@example.com'
你会得到
$postdata = array('username'=>'test', 'email'=>'test@example.com');
如果您发布: admin[][username] = 'test' 和 admin[][username] = 'test2' admin[][email] = 'test@example.com' 和 admin[][email] = 'test2@示例.com'
你会得到:
$postdata = array(
'username'=>array('test', 'test2'),
'email'=>array('test@example.com', 'test2@example.com')
);