PHPはURLパラメータ配列をASCIIコード辞書順に並べ替え、URLキー値ペアのフォーマットで文字列につづる


方法1(コードが少ない):
ASCII($data);
?>

方法2(比較的柔軟):
 $val) { //  POST  
			if ($val == ''||$key == 'sign'||$key == 'param') continue; //       
			if ($sign) $sign .= '&'; //          &    &      
			$sign .= "$key=$val"; //   url    
		}		
		return $sign;
	}

//    :
$data=input('post.');
$stringTemp=$this->ASCII($data);
?>

ksort()関数:
1、定義:キー名で関連配列を昇順に並べ替える
2、文法:
ksort(array,sortingtype);
パラメータ:
パラメータ
説明
array
必要です.ソートする配列を指定します.
sortingtype
オプション.配列の要素/アイテムの配置方法を指定します.可能な値:
  • 0 = SORT_REGULAR-デフォルト.各項目を通常の順序で並べます(Standard ASCII、タイプは変更しません).
  • 1 = SORT_NUMERIC-各項目を数字として扱う.
  • 2 = SORT_STRING-各項目を文字列として扱う.
  • 3 = SORT_LOCALE_STRING-各項目を文字列として処理し、現在の領域設定に基づいて(setlocale()で変更可能).
  • 4 = SORT_NATURAL-各項目を文字列として処理し、natsort()のような自然なソートを使用します.
  • 5 = SORT_FLAG_CASE-SORT_STRINGまたはSORT_NATURALを組み合わせて文字列をソートできます.大文字と小文字を区別しません.
  • 説明:
    ksort()関数は、キー名に従って配列をソートし、配列値に元のキーを保持します.
    オプションの2番目のパラメータには、追加のソートフラグが含まれます.
    成功するとTRUEに戻り、そうでなければFALSEに戻る.
    その他:
    戻り値
    成功するとTRUEに戻り、失敗するとFALSEに戻る.
    PHPバージョン
    4+
    http_build_query()関数:
    定義:URL-encodeを生成した後の要求文字列、すなわち、与えられた関連付け(または下付き)配列を使用してURL-encodeを通過する要求文字列を生成します.
    構文:
    string http_build_query ( mixed  $query_data  [, string  $numeric_prefix  [, string  $arg_separator [, int  $enc_type  =  PHP_QUERY_RFC1738  ]]] )
    パラメータ:
    query_data:配列または属性を含むオブジェクトです.1つのquery_data配列は、単純な1次元構造であってもよいし、配列からなる配列であってもよい(他の配列を順次含んでもよい).query_dataがオブジェクトである場合、publicの属性のみが結果を加える.
    numeric_prefix:このパラメータがベース配列で数値ダウンスケールを使用して同時に与えられている場合、このパラメータ値はベース配列の数値ダウンスケール要素の接頭辞として使用されます.これは、PHPまたは他のCGIプログラムが後でデータを復号する際に正当な変数名を取得するためである.
    arg_separator:http_build_queryが生成する文字列における各パラメータ間の接続記号はphpである.iniのarg_separator.outputで決定します.デフォルトは&このパラメータを指定して使用しない限りarg_を使用します.separator.outputでパラメータを区切ります.
    enc_type:PHPをデフォルトで使用QUERY_RFC1738.enc_の場合typeはPHP_QUERY_RFC 1738では、符号化は、»RFC 1738規格およびアプリケーション/x-www-form-urlencodedメディアタイプで符号化され、スペースはプラス記号(+)に符号化される.enc_typeがPHP_QUERY_RFC 3986である場合、»RFC 3986に従って符号化され、スペースはパーセンテージ符号化(%20)される.
    戻り値:
    URLコードされた文字列を返します.
    例:
    $data = array('name'=>'xiao7',
                  'age'=>18,
                  'sex'=>'man',
                  'language'=>'php java');
    			  
    echo http_build_query($data) . "
    "; echo http_build_query($data, '', '&')."
    "; echo http_build_query($data, '', ini_get('arg_separator.output'),PHP_QUERY_RFC3986);

    出力結果:
    name=xiao7&age=18&sex=man&language=php+java name=xiao7&age=18&sex=man&language=php+java name=xiao7&age=18&sex=man&language=php%20java