2012-12-12 52 views
0
$info='a:1:{s:10:"2G Network";s:22:"GSM 900/1800/1900 ";}'; 
$info1 = unserialize($info); 
print_r($info1); 

當螢火運行代碼得到錯誤:在php中使用unserialize時出錯?

Notice: unserialize() [<a href='function.unserialize'>function.unserialize</a>]: Error at offset 0 of 65 bytes in... 

如何解決呢?

+2

提供正確的序列化數據....始終有助於解決反序列化()問題:a:38正在定義一個包含38個元素的數組 –

+0

您的序列化數據已損壞。它應該是一個有38個條目的數組,它是一個有1個條目的數組。 –

回答

0

$info='a:38:{s:10:"2G Network";s:22:"GSM 900/1800/1900 ";}';未正確序列化。

用於陣列的格式如下:

一個:數項的:{收集元件的};

您陣列中的一個元素(2G網絡=> GSM 900/1800/1900)。其餘全是好的,以下unserializes正確:

a:1:{s:10:"2G Network";s:22:"GSM 900/1800/1900 ";} 
0
use utf8_encode and utf8_decode.. 
like.. 

$str = utf8_encode($str); 

$str= unserialize($str); 

$str= utf8_decode($str); 
0

我覺得這是一個幫助解決您的問題:

<?php 

$info = serialize(array('2G Network','GSM 900/1800/1900')); 
(or) 
$info='a:1:{s:10:"2G Network";s:22:"GSM 900/1800/1900 ";}'; 

$info1 = unserialize($info); 
// Show the unserialized data; 
print_r($info1); 
?> 

爲您Functional Reference點擊此例如。

相關問題