উত্তর:
আপনি parse_strফাংশনটি চান এবং আপনার পৃথক ভেরিয়েবলের পরিবর্তে ডেটা অ্যারে রাখার জন্য আপনাকে দ্বিতীয় প্যারামিটারটি সেট করতে হবে।
$get_string = "pg_id=2&parent_id=2&document&video";
parse_str($get_string, $get_array);
print_r($get_array);
?key=lorem&key=ipsumযে আপনি যদি কেবলমাত্র key=ipsumইউআরএলে কোয়েরি স্ট্রিং সরবরাহ করে থাকেন। এবং আমি মনে করি কীটি পুনরায় ব্যবহার করা এবং ধারাবাহিক ফলাফল প্রত্যাশা করা বা কীটির সমস্ত উদাহরণ বজায় রাখা অবৈধ বলে বিবেচিত। কমপক্ষে পিএইচপি-তে প্রেরিত কোনও ক্যোরি স্ট্রিংয়ের জন্য বৈধ পন্থাটি হবে ?key[]=lorem&key[]=ipsum, সুতরাং আপনার জন্মভূমি পদ্ধতির &{x}=এক্স এর একাধিকবারের যে কোনও ঘটনার সন্ধান করতে পারে এবং এর সাথে প্রতিস্থাপন x[](এবং চিকিত্সা করা হবে!)
?key[]=lorem&key[]=ipsumকয়েক সপ্তাহ আগে এটি এরকম করার সিদ্ধান্ত নিয়েছিলাম । তবে লিঙ্কটি ভাগ করে নেওয়ার জন্য ধন্যবাদ!
কখনও কখনও 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 );
$_SERVER['QUERY_STRING']
ব্যবহার 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);
এটি পিএইচপি কোডটি মাইএসকিএল এবং এমএসকিএল-তে কোয়েরি বিভক্ত করার জন্য
enter code here
function splitquery($strquery)
{
$arrquery=explode('select',$strquery);
$stry='';$strx='';
for($i=0;$i<count($arrquery);$i++)
{
if($i==1)
{
echo 'select '.trim($arrquery[$i]);
}
elseif($i>1)
{
$strx=trim($arrquery[($i-1)]);
if(trim(substr($strx,-1))!='(')
{
$stry=$stry.'
select '.trim($arrquery[$i]);
}
else
{
$stry=$stry.trim('select '.trim($arrquery[$i]));
}
$strx='';
}
}
return $stry;
}
উদাহরণ:
এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স;
xx থেকে xx নির্বাচন করুন
xx থেকে xx নির্বাচন করুন (xx নির্বাচন করুন) যেখানে y = 'সিসি'
এক্সএক্সএক্স বাম জোড় থেকে এক্সএক্সএক্স নির্বাচন করুন (এক্সএক্সএক্স নির্বাচন করুন) যেখানে (এক্সএক্সএক্স থেকে শীর্ষ 1 এক্সএক্সএক্সএক্স নির্বাচন করুন) এক্সএক্সএক্স ডেস্কের মাধ্যমে ওডার
আপনাকে ধন্যবাদ, ইন্দোনেশিয়া সেন্ট্রেডেপ্যাগাং ডট কম থেকে
এই নির্দিষ্ট প্রশ্নের জন্য নির্বাচিত উত্তরটি সঠিক তবে ইউআরএল-তে অতিরিক্ত "ই" এর মতো যদি কোনও অতিরিক্ত কাজকর্মের প্যারামিটার থাকে তবে ফাংশনটি ত্রুটি বা ব্যতিক্রম ছাড়াই নীরবে ব্যর্থ হবে:
a=2&b=2&c=5&d=4&e=1&e=2&e=3
সুতরাং আমি নিজের পার্সারটি এর মতো ব্যবহার করতে পছন্দ করি:
//$_SERVER['QUERY_STRING'] = `a=2&b=2&c=5&d=4&e=100&e=200&e=300`
$url_qry_str = explode('&', $_SERVER['QUERY_STRING']);
//arrays that will hold the values from the url
$a_arr = $b_arr = $c_arr = $d_arr = $e_arr = array();
foreach( $url_qry_str as $param )
{
$var = explode('=', $param, 2);
if($var[0]=="a") $a_arr[]=$var[1];
if($var[0]=="b") $b_arr[]=$var[1];
if($var[0]=="c") $c_arr[]=$var[1];
if($var[0]=="d") $d_arr[]=$var[1];
if($var[0]=="e") $e_arr[]=$var[1];
}
var_dump($e_arr);
// will return :
//array(3) { [0]=> string(1) "100" [1]=> string(1) "200" [2]=> string(1) "300" }
এখন প্রতিটি প্যারামিটারের নিজস্ব অ্যারে উপস্থিত রয়েছে, আপনি চাইলে সর্বদা সেগুলিকে একটি অ্যারেতে মার্জ করতে পারেন।
আশা করি এইটি কাজ করবে!
?key=lorem&key=ipsumফলাফলটি হবেarray(["key"]=>"ipsum")প্রশ্নটি হল, s.th পেতে কোনও ফাংশন আছে কি? এই মতarray(["key"]=>array("lorem", "ipsum"))বা আমার নিজের এই ফাংশনটি তৈরি করতে হবে?