السلام عليكم،

كثيرون هنا يرغبون في حفظ مصفوفة داخل عمود في قاعدة البينات ، لكن لا يعرفون الطريقة أو لم يبحثوا عنها :)

لذلك أحضرتها لكم هنا :

في PHP هناك دالتين : serialize و unserialize

http://php.net/manual/en/function.serialize.php

http://php.net/manual/en/function.unserialize.php

Serialize :  Generates a storable representation of a value. 

بمعنى انه تولد طريقة ، او شكل قابل للتخزين لقيمة أو متغير معين

unserialize — Creates a PHP value from a stored representation 

عكس Serialize تقوم باستخراج القيمة الاولية لمتغير تم عمل Serialization له

لست جيدا في الشرح ، لكن أعذروني ، فقط اريد ان اساعدكم قليلا

الان سنبدأ تطبيقا عمليا

<?php
    $array = array("item1","item2","item3");
    echo serialize($array);
    ?>

الناتج سيكون عبارة عن نص أو يمكن اعتباره كنص : a:3:{i:0;s:5:"item1";i:1;s:5:"item2";i:2;s:5:"item3";} ويمكننا تخزينه في قاعدة البيانات ، الان لنقم بعكس العملية ، سنسجل متغيرا جديدا يحتوي على : a:3:{i:0;s:5:"item1";i:1;s:5:"item2";i:2;s:5:"item3";} وسنقوم بتطبيق دالة unserialize عليه وسنستخدم دالة var_dump لعرض النتائج : $string = 'a:3:{i:0;s:5:"item1";i:1;s:5:"item2";i:2;s:5:"item3";}'; echo var_dump(unserialize($string)); والنتيجة :

 array(3) {
 [0]=>
 string(5) "item1"
 [1]=>
 string(5) "item2"
 [2]=>
 string(5) "item3"
 }

شكرا لكم

إقتراح بسيط : وضع تاق

لتسهيل وضع الشفرات البرمجية :) ، آسف إن لم يكن شرحي واضحا :{