2012-12-06 7 views
-3

REQUEST 문자열을 다음과 같은 목록의 배열로 변환하려면 어떻게해야합니까? 데이터의 클라이언트 측의 제출을 ​​사용하여 업데이트 스크립트 - 문자열을 배열 목록으로 변환

$_REQUEST["InventoryData"] == sku=qty&234444=11&ShirtBig=111&ShirtSmall=101&empty=0 

Array ([0] => sku [1] => qty) 
Array ([0] => 234444 [1] => 11) 
Array ([0] => ShirtBig [1] => 111) 
Array ([0] => ShirtSmall [1] => 101) 
Array ([0] => empty [1] => 0) 

는 "빠른 젠토 대량 업데이트 재고 수준"의 수정이다.

+2

제대로 코드를 포맷하십시오 http://stackoverflow.com/editing-help – poplitea

답변

2
$result = array(); 
parse_str($_REQUEST['InventoryData'], $data); 
foreach ($data as $key => $value) { 
    $result[] = array($key, $value); 
} 
+0

'parse_str' ... 어떤 좋은 이름을 함수에 대한. : D – Ryan

+2

예. 나는 보완 함수'http_build_query'와 함께 가기 위해'http_parse_query'와 같은 이름을 찾고있었습니다. PHP에는 이미 많은 것들이 내장되어 있습니다. 문제는 때로는 발견 * 괴롭 히고 있습니다. :) – cHao

+0

이것은 배열 배열을 제공한다는 점을 제외하면 작동합니다. 배열리스트가 필요합니다. 만약 내가 print_r (array ($ key, $ value)); 나는 정확한 결과를 얻는다. – Jeff

0

당신은 특정 문자 배열에 문자열을 분할하기 위해 폭발 기능을 사용할 수 있습니다 http://php.net/manual/en/function.explode.php

당신이 게시 된 구조로 해당 문자열을 얻기 위해 몇 가지 문자열 조작을 수행해야 할 수 있습니다 그러나.