note 44874 added to function.unserialize

From: Date: Wed, 18 Aug 2004 17:46:15 +0000
Subject: note 44874 added to function.unserialize
Groups: php.notes 
Request: Send a blank email to php-notes+get-74892@lists.php.net to get a copy of this message
This function in javascript convert an array PHP serialized to an array javascript: function unserialize(str) { //document.writeln('<p>0- ' + str + '</p>'); var data = new Array(); var val; var pos, opened, closed; var n = parseInt( str.substring( str.indexOf(':')+1, str.indexOf(':',2) ) ); var str = str.substring(str.indexOf('{')+1, str.lastIndexOf('}')); for (var i = 0; i < n; i++) { //document.writeln('<p>1- ' + str + '</p>'); if (str.charAt(0) == 's') { val = parseInt(str.substring(2,str.indexOf(':', 2))); str = str.substr(str.indexOf(':', 2) + 4 + val); } else if (str.charAt(0) == 'i') { str = str.substr(str.indexOf(';') + 1); } //document.writeln('<p>2- ' + str + '</p>'); if (str.charAt(0) == 'a') { data[i] = new Array(); opened = 1; closed = 0; pos = str.indexOf('{'); while (opened != closed) { pos += 1; if (str.charAt(pos) == '}') { closed += 1; } else if (str.charAt(pos) == '{') { opened += 1; } } data[i] = this.unserialize(str.substring(0,pos+1)); str = str.substr(pos+1); } else if (str.charAt(0) == 's') { val = parseInt(str.substring(2,str.indexOf(':', 2))); data[i] = str.substr(str.indexOf(':',2)+2, val); str = str.substr(str.indexOf(':',2) + 4 + val); } else if (str.charAt(0) == 'i') { data[i] = parseInt(str.substring(2,str.indexOf(';'))); str = str.substr(str.indexOf(';') + 1); } else if (str.charAt(0) == 'd') { data[i] = parseFloat(str.substring(2,str.indexOf(';'))); str = str.substr(str.indexOf(';') + 1); } //document.writeln('<p>3- ' + data[i] + '</p>'); //document.writeln('<p>4- ' + str + '</p>'); } return data; } []'s Jonas Goes msl@goes.eti.br http://www.goes.eti.br ---- Manual Page -- http://www.php.net/manual/en/function.unserialize.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+44874 Delete -- http://master.php.net/manage/user-notes.php?action=delete+44874&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+44874&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#74892) next »