السلام عليكم،
كثيرون هنا يرغبون في حفظ مصفوفة داخل عمود في قاعدة البينات ، لكن لا يعرفون الطريقة أو لم يبحثوا عنها :)
لذلك أحضرتها لكم هنا :
في PHP هناك دالتين : serialize و unserialize
http://php.net/manual/en/fu... http://php.net/manual/en/fu...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"
}
شكرا لكم
إقتراح بسيط : وضع تاق
لتسهيل وضع الشفرات البرمجية :) ، آسف إن لم يكن شرحي واضحا :{
التعليقات