উত্তর:
আপনি 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"))
বা আমার নিজের এই ফাংশনটি তৈরি করতে হবে?