gpt4 book ai didi

php - 显示序列化数组

转载 作者:行者123 更新时间:2023-12-02 07:39:19 25 4
gpt4 key购买 nike

我有一个数组正在通过如下形式收集:

<select multiple="multiple" name="contractors[]" >

输入代码将数组保存到数据库中。

$options = $_POST['contractors'];  
$serializedoptions = serialize($options);

它以下面的格式将数组保存在数据库中,但我无法正确显示它。当我拉出整个它显示:

a:4:{i:0;s:28:Contractor1";i:1;s:15:"Contractor2";i:2;s:10:"Contractor3";}

如何让它以更具可读性的格式显示?

$result = mysql_query("SELECT * FROM form_2 GROUP BY jobname");

echo "<table border='1'>
<tr>
<th><font size='1'>Job Name</th>
<th><font size='1'>Contractors</th>
<th><font size='1'>Notes</th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><font size='1'>" . $row['jobname'] . "</font></td>";
echo "<td><font size='1'>" . $row['contractors'] . "</font></td>";
echo "<td><font size='1'>" . $row['notes'] . "</font></td>";

echo "</tr>";

}
echo "</table>";

最佳答案

序列化的必须反序列化。在处理数据之前,只需对数据使用 unserialize 函数即可。在您的情况下,将返回一个数组。

http://php.net/manual/en/function.unserialize.php

$options = unserialize($serializedoptions);

如果您找到支持它的代码,其他语言也可以反序列化 PHP serialize()。例如,这里有一个用于 JavaScript 的:http://phpjs.org/functions/unserialize/

编辑:

更新您添加的代码,一旦反序列化该值,您就可以像显示任何其他 PHP 变量一样显示它。

<?php
while ($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><font size='1'>" . $row['jobname'] . "</font></td>";
echo "<td><font size='1'>";
$contractors = unserialize($row['contractors']);
foreach ($contractors as $contractor)
echo htmlspecialchars($contractor).'<br/>';
echo "</font></td>";
echo "<td><font size='1'>" . $row['notes'] . "</font></td>";
echo "</tr>";
}
?>

关于php - 显示序列化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12808565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com