[php] 쿼리 문자열을 배열로 구문 분석
아래 문자열을 배열 로 바꾸려면 어떻게 해야합니까?
pg_id=2&parent_id=2&document&video
이것은 내가 찾고있는 배열입니다.
array(
'pg_id' => 2,
'parent_id' => 2,
'document' => ,
'video' =>
)
답변
parse_str
함수를 원하고 개별 변수 대신 배열에 데이터를 넣도록 두 번째 매개 변수를 설정해야합니다.
$get_string = "pg_id=2&parent_id=2&document&video";
parse_str($get_string, $get_array);
print_r($get_array);
답변
때로는 parse_str()
혼자 정확한 메모가 표시됩니다.
$url = "somepage?id=123&lang=gr&size=300";
parse_str ()은 다음을 반환합니다.
Array (
[somepage?id] => 123
[lang] => gr
[size] => 300
)
다음 parse_str()
과 parse_url()
같이 결합 하는 것이 좋습니다 .
$url = "somepage?id=123&lang=gr&size=300";
parse_str( parse_url( $url, PHP_URL_QUERY), $array );
print_r( $array );
답변
사용 parse_str()
.
$str = 'pg_id=2&parent_id=2&document&video';
parse_str($str, $arr);
print_r($arr);
답변
http://us1.php.net/parse_str 사용
주의 사용법은 다음과 같습니다.
parse_str($str, &$array);
아니
$array = parse_str($str);
답변
인코딩 된 앰퍼샌드로 인해 쿼리 문자열을 배열로 변환하는 데 문제가있는 경우
&
그런 다음 사용하십시오 html_entity_decode
예:
// Input string //
$input = 'pg_id=2&parent_id=2&document&video';
// Parse //
parse_str(html_entity_decode($input), $out);
// Output of $out //
array(
'pg_id' => 2,
'parent_id' => 2,
'document' => ,
'video' =>
)
답변
몇 가지 가능한 방법이 있지만 이미 내장 parse_str
함수가 있습니다.
$array = array();
parse_str($string, $array);
var_dump($array);
답변
이것은 현재 URL에서 배열로 쿼리를 파싱하기위한 하나의 라이너입니다.
parse_str($_SERVER['QUERY_STRING'], $query);