2012-03-12 88 views
0

我已經通過Gravity Forms向Wordpress網站添加了一些數據,並且我試圖以可讀格式循環存儲在數據庫中的數據。存儲的數據是MOVIE,ROLE和YEAR - 這裏是數據如何存儲在數據庫中:在WordPress人類可讀的數組中製作元數據的用戶數據

s:298:「a:3:{i:0; a:3:{s:4 :「年」; s:4:「2010」; s:5:「電影」; s:18:「不可能的任務」; s:4:「角色」; s:5:「演員」;} i:1 ; a:3:{s:4:「年」; s:4:「2011」; s:5:「電影」; s:20:「不可能的任務2」; s:4:「角色」; s: 10:「主演」;} i:2; a:3:{s:4:「年」; s:4:「2012」; s:5:「電影」; s:20:「不可能的任務3」 ; S:4: 「角色」; S:8: 「導演」;}}「;

任何事先就如何通過和輸出人類可讀的方式中的數據將非常感激。我將貝寶啤酒的人,可以幫助循環...

感謝的想法!

回答

1

你試過unserialize這個字符串嗎?

+0

Yes和我剛得到這樣的: 陣列([0] =>數組([年] => 2010 [Movie] => Mission Impossible [Role] => Actor)[1] => Array([Year] => 2011 [Movie] => Mission Impossible 2 [Role] => ] =>陣列([年] => 2012 [電影] =>碟中諜3 [作用] =>董事)) 還沒有真正的人讀能...我想我在一個損失如何遍歷數組和類似的東西輸出:

​​年份:​​2010 ​​電影:​​碟中諜 ​​角色:​​演員
等... – Holden 2012-03-12 13:05:26

1
$data = 's:298:"a:3:{i:0;a:3:{s:4:"Year";s:4:"2010";s:5:"Movie";s:18:"Mission Impossible";s:4:"Role";s:5:"Actor";}i:1;a:3:{s:4:"Year";s:4:"2011";s:5:"Movie";s:20:"Mission Impossible 2";s:4:"Role";s:10:"Lead Actor";}i:2;a:3:{s:4:"Year";s:4:"2012";s:5:"Movie";s:20:"Mission Impossible 3";s:4:"Role";s:8:"Director";}}";'; 

// first remove the string declaration at the start, if you don't do this, unserialize() will treat most of the data as a string and won't convert it to an array 
$data = substr($data, strpos($data, '"')+1); 

// now just unserialize into an array so it can be looped through with foreach() etc 
$arr = unserialize($data); 

print_r($arr); 

輸出

Array 
(
    [0] => Array 
     (
      [Year] => 2010 
      [Movie] => Mission Impossible 
      [Role] => Actor 
     ) 

    [1] => Array 
     (
      [Year] => 2011 
      [Movie] => Mission Impossible 2 
      [Role] => Lead Actor 
     ) 

    [2] => Array 
     (
      [Year] => 2012 
      [Movie] => Mission Impossible 3 
      [Role] => Director 
     ) 

) 

要遍歷的陣列可以使用foreach

<?php 

$html = '<table>'; 

// table headings 
$html .= '<tr><th>Year</th><th>Movie</th><th>Role</th></tr>'; 

foreach($arr as $item) 
{ 
    $html .= '<tr>'; 
    $html .= '<td>' . $item['Year'] . '</td>'; 
    $html .= '<td>' . $item['Movie'] . '</td>'; 
    $html .= '<td>' . $item['Role'] . '</td>'; 
    $html .= '</tr>'; 
} 

$html .= '</table>'; 

echo $html; // output the HTML table 
?> 
+0

任何想法如何通過數組循環? 我想的東西,如落得: '

​​年份:​​2010 ​​電影:​​碟中諜 ​​角色:​​演員
' 我種的堅持,因爲我不知道如何通過陣列 – Holden 2012-03-12 13:17:14

+0

的內容循環@Holden我編輯的答案,包括建設的一個HTML表格的例子數據。 – MrCode 2012-03-12 13:31:39