다음 형식의 문자열을 배열합니까?
문제
$ _post가하는 형식으로 문자열을 어떻게 배열 할 수 있습니까?
101=1&2020=2&303=3
(당신이 궁금해하는 경우, jQuery sortable serialize의 결과 ... 나는 SQL 명령문을 실행하여 = 부호의 오른쪽으로 필드를 업데이트하고 싶습니다. 이것은 foreach ($ var as $ key => $ value)를 사용할 수있는 형식으로 넣고 그로부터 SQL 문을 만들 수있는 형식으로 넣고 싶었습니다.
나는 단지 $ key = 101 및 $ value = 1의 방식으로 이것을 폭발하고 싶습니다.
혼란 스러워요;) 고급에 너무 감사합니다 !!
해결책
$input = "101=1&2020=2&303=3";
$output = array();
$exp = explode('&',$input);
foreach($exp as $e){
$pair = explode("=",$e);
$output[$pair[0]] = $pair[1];
}
다른 팁
참조 parse_str
기능.
PHP에서 가장 직관적 인 기능 이름은 아니지만 찾고있는 기능은 IS입니다. parse_str (). 다음과 같이 사용할 수 있습니다.
$myArray = array();
parse_str('101=1&2020=2&303=3', $myArray);
print_r($myArray);
빠르고 더러운 솔루션 중 하나 :
<?php
$str = "101=1&2020=2&303=3";
$VAR = array();
foreach(explode('&', $str) AS $pair)
{
list($key, $value) = each(explode('=', $pair));
$VAR[$key] = $value;
}
?>
parse_str($query_string, $array_to_hold_values);
&에서 &에서 폭발하십시오.
제휴하지 않습니다 StackOverflow