我已经通过重力表单向Wordpress站点添加了一些数据,我正在尝试以人类可读的格式循环存储在数据库中的数据。存储的数据是电影、角色和年份的数据--下面是数据在数据库中的存储方式:
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:”角色“;s:10:”主演“;}i:2;a:3:{s:4:"Year";s:4:"2012";s:5:"Movie";s:20:"Mission Director 3“;s:4:”角色“;s:8:”导演“;}}”;
任何关于如何循环遍历并以人类可读的方式输出数据的想法都将受到欢迎……我会付给任何能帮上忙的人一瓶啤酒。
提前感谢!
发布于 2012-03-12 19:45:18
你有没有尝试过unserialize这个字符串?
发布于 2012-03-12 19:49:26
$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
?>https://stackoverflow.com/questions/9666311
复制相似问题