الفرق بين المراجعتين لصفحة: «PHP/parse str»
أضفت المحتوى |
لا ملخص تعديل |
||
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الدالة <code>parse_str()</code> في PHP}}</noinclude> | |||
(PHP 4, PHP 5, PHP 7) | (PHP 4, PHP 5, PHP 7) | ||
تُحَوِّلُ الدالة parse_str() السلسلة النصية إلى متغيرات. | تُحَوِّلُ الدالة <code>parse_str()</code> السلسلة النصية إلى متغيرات. | ||
== الوصف == | |||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
void parse_str ( string $encoded_string [, array &$result ] ) | void parse_str ( string $encoded_string [, array &$result ] ) | ||
</syntaxhighlight>تُحَوِّلُ الدالة parse_str() المعامل $encoded_string كما لو أنه سلسلة الاستعلام النصية (query string) التي مُرِّرَتْ عبر عنوان URL وتَضَعُ المتغيرات في المجال الحالي (current scope) (أو في مصفوفة إذا وُجِدَ المعامل result). | </syntaxhighlight>تُحَوِّلُ الدالة <code>parse_str()</code> المعامل <code>$encoded_string</code> كما لو أنه سلسلة الاستعلام النصية (query string) التي مُرِّرَتْ عبر عنوان URL وتَضَعُ المتغيرات في المجال الحالي (current scope) (أو في مصفوفة إذا وُجِدَ المعامل <code>result</code>). | ||
== المعاملات == | |||
=== | === <code>encoded_string</code> === | ||
السلسلة النصية المدخلة. | السلسلة النصية المدخلة. | ||
=== | === <code>result</code> === | ||
إذا كان المعامل الثاني result موجودًا، فستُخَزَّن المتغيرات فيه كمصفوفة عناصر بدلاً من ذلك. | إذا كان المعامل الثاني <code>result</code> موجودًا، فستُخَزَّن المتغيرات فيه كمصفوفة عناصر بدلاً من ذلك. | ||
تحذير: يُعدّ استخدام الدالة parse_str() بدون المعامل result غير منصوحٍ به ومهمل بدءًا من الإصدار PHP 7.2. | تحذير: يُعدّ استخدام الدالة <code>parse_str()</code> بدون المعامل <code>result</code> غير منصوحٍ به ومهمل بدءًا من الإصدار PHP 7.2. | ||
== القيم المعادة == | |||
لا تعيد الدالة parse_str() قِيمًا. | لا تعيد الدالة <code>parse_str()</code> قِيمًا. | ||
== | == سجل التغييرات == | ||
{| class="wikitable" | {| class="wikitable" | ||
!الإصدار | !الإصدار | ||
سطر 28: | سطر 28: | ||
|- | |- | ||
|7.2.0 | |7.2.0 | ||
|يُصْدِرُ الآن استخدامُ الدالة parse_str() | |يُصْدِرُ الآن استخدامُ الدالة <code>parse_str()</code> بدون معاملها الثاني إشعارَ E_DEPRECATED. | ||
|} | |} | ||
== أمثلة == | |||
المثال 1: استخدام الدالة parse_str()<syntaxhighlight lang="php"> | المثال 1: استخدام الدالة <code>parse_str()</code><syntaxhighlight lang="php"> | ||
<?php | <?php | ||
$str = "first=value&arr[]=foo+bar&arr[]=baz"; | $str = "first=value&arr[]=foo+bar&arr[]=baz"; | ||
سطر 48: | سطر 48: | ||
echo $arr[1]; // baz | echo $arr[1]; // baz | ||
?> | ?> | ||
</syntaxhighlight>نظرًا لأن المتغيرات في PHP لا يمكن أن تحتوي على نقاط وفراغات في أسمائها، تُحَوَّلُ تلك النقاط والفراغات إلى شرطات سفلية. ينطبق نفس الشيء على تسمية أسماء المفاتيح المعنية في حالة استخدام الدالة parse_str() مع المعامل result . | </syntaxhighlight>نظرًا لأن المتغيرات في PHP لا يمكن أن تحتوي على نقاط وفراغات في أسمائها، تُحَوَّلُ تلك النقاط والفراغات إلى شرطات سفلية. ينطبق نفس الشيء على تسمية أسماء المفاتيح المعنية في حالة استخدام الدالة <code>parse_str()</code> مع المعامل <code>result</code>. | ||
المثال 2: استخدام الدالة parse_str() في تغيير الاسم<syntaxhighlight lang="php"> | المثال 2: استخدام الدالة <code>parse_str()</code> في تغيير الاسم<syntaxhighlight lang="php"> | ||
<?php | <?php | ||
parse_str("My Value=Something"); | parse_str("My Value=Something"); | ||
سطر 60: | سطر 60: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== ملاحظات == | |||
كل المتغيرات التي أُنْشِئَتْ (أو القيم التي أُعيدَت كمصفوفة في حالة وجود المعامل الثاني) قد طُبِّقتَ عليها الدالة urldecode() للحصول على QUERY_STRING الحالية، يمكنك استخدام المتغير $_SERVER[ | كل المتغيرات التي أُنْشِئَتْ (أو القيم التي أُعيدَت كمصفوفة في حالة وجود المعامل الثاني) قد طُبِّقتَ عليها الدالة <code>[[PHP/urldecode|urldecode()]]</code> للحصول على <code>QUERY_STRING</code> الحالية، يمكنك استخدام المتغير <code>$_SERVER['QUERY_STRING']</code>. يمكنك أيضًا أن تقرأ صفحة «<nowiki/>[[PHP/external variables|المتغيرات من مصادر خارجية]]». | ||
يؤثر الإعداد magic_quotes_gpc على ناتج الدالة parse_str() | يؤثر الإعداد <code>magic_quotes_gpc</code> على ناتج الدالة <code>parse_str()</code>، إذ تستخدم الدالة <code>parse_str()</code> نفس الآلية التي تستخدمها PHP لملء المصفوفتين <code>$_GET</code> و <code>$_POST</code> وغيرها. | ||
== انظر أيضًا == | |||
* الدالة parse_url(): تحليل روابط URL وإعادة مكوناته. | * الدالة <code>[[PHP/parse url|parse_url()]]</code>: تحليل روابط URL وإعادة مكوناته. | ||
* الدالة pathinfo(): إعادة معلومات حول مسار ملف. | * الدالة <code>[[PHP/pathinfo|pathinfo()]]</code>: إعادة معلومات حول مسار ملف. | ||
* الدالة http_build_quiry(): توليد سلسلة نصية مرمَّزة كما في روابط URI للسلسلة النصية المستعلَم عنها (query string). | * الدالة <code>[[PHP/http build quiry|http_build_quiry()]]</code>: توليد سلسلة نصية مرمَّزة كما في روابط URI للسلسلة النصية المستعلَم عنها (query string). | ||
* الدالة urldecode(): فك ترميز السلاسل النصية التي تحتوي على روابط URI. | * الدالة <code>[[PHP/urldecode|urldecode()]]</code>: فك ترميز السلاسل النصية التي تحتوي على روابط URI. | ||
== مصادر == | |||
* [http://php.net/manual/en/function.parse-str.php صفحة الدالة parse_str في توثيق PHP الرسمي.] | * [http://php.net/manual/en/function.parse-str.php صفحة الدالة parse_str في توثيق PHP الرسمي.] | ||
[[تصنيف:PHP]] | |||
[[تصنيف:PHP Function]] | |||
[[تصنيف:PHP String]] |
المراجعة الحالية بتاريخ 11:08، 9 أبريل 2018
(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.