1

HTML入力名を知っているだけでphp変数を取得する必要があります。

入力の名前が admin[username] であることはわかっているので、変数 $_POST['admin']['username] を取得したい

入力の何らかの検証のためにこれが必要です。つまり、フォームを表示するときに html の入力名を保存しますが、次のサーバー要求でのみテストするので、javascript またはHTML入力名がadmin[]の場合、配列を持つことができます

ありがとうございました

4

1 に答える 1

2
$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 @ example.com '

あなたが得るでしょう:

$postdata = array(
                      'username'=>array('test', 'test2'),
                      'email'=>array('test@example.com', 'test2@example.com')
                 );
于 2012-07-11T15:12:20.570 に答える