2010-10-17 11 views
21

मैं मूल रूप से http_build_query() के विपरीत खोज रहा हूं।क्या क्वेरी स्ट्रिंग को सरणी में कनवर्ट करने के लिए कोई PHP फ़ंक्शन है?

मैं एक स्ट्रिंग के रूप में निम्नलिखित है:

foo=bar&bar[var]=foo 

और मैं निम्नलिखित (http_build_query में पारित करने के लिए) चाहते हैं:

array(
    'foo' => 'bar', 
    'bar' => array(
     'var' => 'foo', 
    ) 
) 

उत्तर

60

आप parse_str() चाहते हैं। यह 2 पैरामीटर के रूप में एक सरणी दर्रा और यह क्वेरी स्ट्रिंग आप इसे सरणी में देने से चर निकाल लेंगे:

<?php 
$str = "first=value&arr[]=foo+bar&arr[]=baz"; 
parse_str($str, $output); 

echo $output['first']; // value 
echo $output['arr'][0]; // foo bar 
echo $output['arr'][1]; // baz 

सूचना इस http_build_query पृष्ठ पर सूचीबद्ध पहले ही संबंधित कार्य है।

+0

त्वरित नोट: दूसरा पैरामीटर प्रदान करना (इस उदाहरण में, '$ आउटपुट') PHP 7.2 के रूप में अनिवार्य है। – haz

संबंधित मुद्दे

 संबंधित मुद्दे