note 101687 added to function.session-decode

From: Date: Wed, 05 Jan 2011 00:23:52 +0000
Subject: note 101687 added to function.session-decode
Groups: php.notes 
Request: Send a blank email to php-notes+get-175455@lists.php.net to get a copy of this message
Yet another attempt a wheel re-invention, using match with offsets rather than split... <?php function unserializesession( $data ) { if( strlen( $data) == 0) { return array(); } // match all the session keys and offsets preg_match_all('/(^|;|\})([a-zA-Z0-9_]+)\|/i', $data, $matchesarray, PREG_OFFSET_CAPTURE); $returnArray = array(); $lastOffset = null; $currentKey = ''; foreach ( $matchesarray[2] as $value ) { $offset = $value[1]; if(!is_null( $lastOffset)) { $valueText = substr($data, $lastOffset, $offset - $lastOffset ); $returnArray[$currentKey] = unserialize($valueText); } $currentKey = $value[0]; $lastOffset = $offset + strlen( $currentKey )+1; } $valueText = substr($data, $lastOffset ); $returnArray[$currentKey] = unserialize($valueText); return $returnArray; } ?> ---- Server IP: 69.147.83.197 Probable Submitter: 60.240.49.115 ---- Manual Page -- http://www.php.net/manual/en/function.session-decode.php Edit -- https://master.php.net/note/edit/101687 Del: integrated -- https://master.php.net/note/delete/101687/integrated Del: useless -- https://master.php.net/note/delete/101687/useless Del: bad code -- https://master.php.net/note/delete/101687/bad+code Del: spam -- https://master.php.net/note/delete/101687/spam Del: non-english -- https://master.php.net/note/delete/101687/non-english Del: in docs -- https://master.php.net/note/delete/101687/in+docs Del: other reasons-- https://master.php.net/note/delete/101687 Reject -- https://master.php.net/note/reject/101687 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#175455) next »