• 0

كيف أحوّل Serialized إلى مصفوفة على php؟

لدي استمارة تبعث بقيم الحقول المزجودة بها، ويوجد حقل مخفي من نوع hidden input وعند عملية serialize أحصل على :

"menuItem[2]=null&menuItem[4]=2&menuItem[6]=4&menuItem[5]=2&menuItem[7]=null&menuItem[3]=null"

وأحاول تحويل القيمة النصية التالية إلى مصفوفة:

[ 2 => null, 4 => 2, 6 => 4 , ...]

هل من طريقة لفعل ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

على لغة php تتوفر دالة parse-str التي تمكنك كمبرمج من تصفح متغير نصي، والحصول على مصفوفة تحتوي قيم المتغير متفرقة داخلها، مما يُسهل عليك العملية، وعوض اللجوء إلى استعمال حلقات التكرار  وقراءة محتوى المتغير -لان الطريقة ستكون معقدة بعض الشيء-، عليك بالكود التالي:

parse_str('menuItem[2]=null&menuItem[4]=2&menuItem[6]=4&menuItem[5]=2&menuItem[7]=null&menuItem[3]=null', $arr);
var_dump($arr);

ستكون النتيجة كالتالي:

array (
  'menuItem' => 
    array (
      2 => 'null',
      4 => '2',
      6 => '4',
      5 => '2',
      7 => 'null',
      3 => 'null',
  )
)

 مثال آخر:

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz

?>

 

تمّ تعديل بواسطة E.Nourddine

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن