الدالة parse_str()
في PHP
(PHP 4, PHP 5, PHP 7)
تُحَوِّلُ الدالة parse_str()
السلسلة النصية إلى متغيرات.
الوصف
void parse_str ( string $encoded_string [, array &$result ] )
تُحَوِّلُ الدالة parse_str()
المعامل $encoded_string
كما لو أنه سلسلة الاستعلام النصية (query string) التي مُرِّرَتْ عبر عنوان URL وتَضَعُ المتغيرات في المجال الحالي (current scope) (أو في مصفوفة إذا وُجِدَ المعامل result
).
المعاملات
encoded_string
السلسلة النصية المدخلة.
result
إذا كان المعامل الثاني result
موجودًا، فستُخَزَّن المتغيرات فيه كمصفوفة عناصر بدلاً من ذلك.
تحذير: يُعدّ استخدام الدالة parse_str()
بدون المعامل result
غير منصوحٍ به ومهمل بدءًا من الإصدار PHP 7.2.
القيم المعادة
لا تعيد الدالة parse_str()
قِيمًا.
سجل التغييرات
الإصدار | الوصف |
---|---|
7.2.0 | يُصْدِرُ الآن استخدامُ الدالة parse_str() بدون معاملها الثاني إشعارَ E_DEPRECATED.
|
أمثلة
المثال 1: استخدام الدالة parse_str()
<?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
// غير مستحسن أبدًا
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
?>
نظرًا لأن المتغيرات في PHP لا يمكن أن تحتوي على نقاط وفراغات في أسمائها، تُحَوَّلُ تلك النقاط والفراغات إلى شرطات سفلية. ينطبق نفس الشيء على تسمية أسماء المفاتيح المعنية في حالة استخدام الدالة parse_str()
مع المعامل result
.
المثال 2: استخدام الدالة parse_str()
في تغيير الاسم
<?php
parse_str("My Value=Something");
echo $My_Value; // Something
parse_str("My Value=Something", $output);
echo $output['My_Value']; // Something
?>
ملاحظات
كل المتغيرات التي أُنْشِئَتْ (أو القيم التي أُعيدَت كمصفوفة في حالة وجود المعامل الثاني) قد طُبِّقتَ عليها الدالة urldecode()
للحصول على QUERY_STRING
الحالية، يمكنك استخدام المتغير $_SERVER['QUERY_STRING']
. يمكنك أيضًا أن تقرأ صفحة «المتغيرات من مصادر خارجية».
يؤثر الإعداد magic_quotes_gpc
على ناتج الدالة parse_str()
، إذ تستخدم الدالة parse_str()
نفس الآلية التي تستخدمها PHP لملء المصفوفتين $_GET
و $_POST
وغيرها.
انظر أيضًا
- الدالة
parse_url()
: تحليل روابط URL وإعادة مكوناته.
- الدالة
pathinfo()
: إعادة معلومات حول مسار ملف. - الدالة
http_build_quiry()
: توليد سلسلة نصية مرمَّزة كما في روابط URI للسلسلة النصية المستعلَم عنها (query string). - الدالة
urldecode()
: فك ترميز السلاسل النصية التي تحتوي على روابط URI.