簡體   English   中英

如何從該序列化的字符串創建PHP數組?

[英]How can I create a PHP array from this serialized string?

我有一個看起來像這樣的字符串:

id_company=57&name=&address=&zip=&place=&phone=&mobile=&email=&birthdate=&birthplace=&bsn=&driver_expires=&role=&date_started=&contract=Tijdelijk&id_type=Paspoort&id_number=&id_expires=

上面的示例在大多數情況下為空(id_company除外)。

我像這樣在jquery中序列化表單:

var $serialized = $form.serialize();

在我的PHP中,我這樣做:

$jsonemployee = unserialize($_POST['serialized']);

之后,我嘗試打印它,因為我期望一個數組:

echo '<pre>';
print_r($jsonemployee);
echo '</pre>';

但這什么也沒給我顯示。

我100%肯定所有數據都已傳遞,在我的networktab中,我看到正在發布的字符串,如果我只是回顯該字符串,它將顯示該字符串。

如何從該字符串創建PHP數組?

unserialize並不是要對該格式進行反serialize ,它是serialize的對應物,它會產生非常不同的結果。 要在PHP中解析URL編碼的字符串,請使用parse_str

parse_str($_POST['serialized'], $result);
var_dump($result);

當然,將URL編碼的字符串發送為$_POST['serialized']有點奇怪,您應該將它作為一個唯一的請求正文發送,PHP會自動將其解析為$_POST而您不會必須做任何事情。

您只需要通過執行以下操作將該字符串轉換為數組:

$myArray = explode("&",$_POST['serialized']);

我認為這將為您工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM