2017-06-01 12 views
1

我無法使用PHP多子,並將其放置在一個陣列PHP

例如串得到多個子:

$id= 'a:4:{i:0;s:4:"8345";i:1;s:4:"8344";i:2;s:4:"8343";i:3;s:4:"8329";}'; 

現在我想要得到的結果爲:

Array[0]=> 8345 
Array[1]=> 8344 
Array[2]=> 8343 
Array[3]=> 8329 

有什麼建議嗎?

+3

在'$ id'上使用'unserialize'。 –

+0

你試過了什麼? – mrid

+0

爲什麼不只是反序列化() –

回答

1

unserialize()採用單個串行化變量和將其轉換回PHP的值

$id= 'a:4:{i:0;s:4:"8345";i:1;s:4:"8344";i:2;s:4:"8343";i:3;s:4:"8329";}'; 

print_r(unserialize($id)); 
2

只要反序列化數據

<?php 

$id= unserialize('a:4:{i:0;s:4:"8345";i:1;s:4:"8344";i:2;s:4:"8343";i:3;s:4:"8329";}'); 

print_r($id); 

?> 
+0

真棒.. !!!謝謝你.. – Krist

+0

如果它正在工作接受答案 –

+0

@Krist請記住php手冊中有關unseralize的大紅色框。 – Andreas

0

$returnValue = unserialize($id); 結果將是象

array (
0 => '8345', 
1 => '8344', 
2 => '8343', 
3 => '8329', 
) 
0

正則表達式:

$id= 'a:4:{i:0;s:4:"8345";i:1;s:4:"8344";i:2;s:4:"8343";i:3;s:4:"8329";}'; 
preg_match_all("/\d{4}/", $id, $numbers); 

var_dump($numbers); 

匹配全部四位數字。

相關問題