الفرق بين المراجعتين لصفحة: «PHP/parse str»

من موسوعة حسوب
< PHP
أضفت المحتوى
 
طلا ملخص تعديل
سطر 1: سطر 1:
== الدالة parse_str()‎ في PHP ==
= الدالة parse_str()‎ في PHP =
(PHP 4, PHP 5, PHP 7)
(PHP 4, PHP 5, PHP 7)


تُحَوِّلُ الدالة parse_str()‎ السلسلة النصية إلى متغيرات.
تُحَوِّلُ الدالة parse_str()‎ السلسلة النصية إلى متغيرات.


=== الوصف ===
== الوصف ==
<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>تُحَوِّلُ الدالة parse_str()‎ المعامل ‎$encoded_string كما لو أنه سلسلة الاستعلام النصية (query string) التي مُرِّرَتْ عبر عنوان URL وتَضَعُ المتغيرات في المجال الحالي (current scope) (أو في مصفوفة إذا وُجِدَ المعامل result).


=== المعاملات ===
== المعاملات ==


==== encoded_string ====
=== encoded_string ===
السلسلة النصية المدخلة.
السلسلة النصية المدخلة.


==== result ====
=== result ===
إذا كان المعامل الثاني result موجودًا، فستُخَزَّن المتغيرات فيه كمصفوفة عناصر بدلاً من ذلك.
إذا كان المعامل الثاني result موجودًا، فستُخَزَّن المتغيرات فيه كمصفوفة عناصر بدلاً من ذلك.


تحذير: يُعدّ استخدام الدالة parse_str()‎ بدون المعامل result غير منصوحٍ به ومهمل بدءًا من الإصدار PHP 7.2.
تحذير: يُعدّ استخدام الدالة parse_str()‎ بدون المعامل result غير منصوحٍ به ومهمل بدءًا من الإصدار PHP 7.2.


=== القيم المعادة ===
== القيم المعادة ==
لا تعيد الدالة parse_str()‎ قِيمًا.
لا تعيد الدالة parse_str()‎ قِيمًا.


=== التغير ===
== التغير ==
{| class="wikitable"
{| class="wikitable"
!الإصدار
!الإصدار
سطر 31: سطر 31:
|}
|}


=== أمثلة ===
== أمثلة ==
المثال 1: استخدام الدالة parse_str()‎<syntaxhighlight lang="php">
المثال 1: استخدام الدالة parse_str()‎<syntaxhighlight lang="php">
<?php
<?php
سطر 60: سطر 60:
</syntaxhighlight>
</syntaxhighlight>


=== ملاحظات ===
== ملاحظات ==
كل المتغيرات التي أُنْشِئَتْ (أو القيم التي أُعيدَت كمصفوفة في حالة وجود المعامل الثاني) قد طُبِّقتَ عليها الدالة urldecode()‎ للحصول على QUERY_STRING الحالية، يمكنك استخدام المتغير ‎$_SERVER[‘QUERY_STRING’]‎. يمكنك أيضًا أن تقرأ صفحة «المتغيرات من مصادر خارجية».
كل المتغيرات التي أُنْشِئَتْ (أو القيم التي أُعيدَت كمصفوفة في حالة وجود المعامل الثاني) قد طُبِّقتَ عليها الدالة urldecode()‎ للحصول على QUERY_STRING الحالية، يمكنك استخدام المتغير ‎$_SERVER[‘QUERY_STRING’]‎. يمكنك أيضًا أن تقرأ صفحة «المتغيرات من مصادر خارجية».


يؤثر الإعداد magic_quotes_gpc على ناتج الدالة parse_str()‎، إذ تستخدم الدالة parse_str()‎ نفس الآلية التي تستخدمها PHP لملء المصفوفتين ‎$_GET و ‎$_POST وغيرها.
يؤثر الإعداد magic_quotes_gpc على ناتج الدالة parse_str()‎، إذ تستخدم الدالة parse_str()‎ نفس الآلية التي تستخدمها PHP لملء المصفوفتين ‎$_GET و ‎$_POST وغيرها.


=== انظر أيضًا ===
== انظر أيضًا ==
* الدالة parse_url()‎: تحليل روابط URL وإعادة مكوناته.
* الدالة parse_url()‎: تحليل روابط URL وإعادة مكوناته.


سطر 72: سطر 72:
* الدالة urldecode()‎: فك ترميز السلاسل النصية التي تحتوي على روابط URI.
* الدالة urldecode()‎: فك ترميز السلاسل النصية التي تحتوي على روابط 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 الرسمي.]

مراجعة 06:23، 9 أبريل 2018

الدالة 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.

مصادر