需要在数组中取消序列化数组并在php中将其打印到表中

需要在数组中取消序列化数组并在php中将其打印到表中,php,arrays,serialization,foreach,Php,Arrays,Serialization,Foreach,这将打印表中的数组,但当它到达数组中带有数组的地址部分时,如果我将“打印”替换为“需要在此处打印地址数组”,则会抛出“数组到字符串转换” 在您的情况下echo$value如果$value是数组,它将显示“数组到字符串转换”的通知 使用foreach回显阵列 <?php $data = 'a:4:{s:4:"Name";s:8:"John Doe";s:7:"Address";a:4:{s:6:"Street";s:11:"123 Main St";s:4:"City";s:5:"Dove

这将打印表中的数组,但当它到达数组中带有数组的地址部分时,如果我将“打印”替换为“需要在此处打印地址数组”,则会抛出“数组到字符串转换”

在您的情况下
echo$value如果$value是数组,它将显示“数组到字符串转换”的通知

使用foreach回显阵列

<?php

$data = 'a:4:{s:4:"Name";s:8:"John Doe";s:7:"Address";a:4:{s:6:"Street";s:11:"123 Main St";s:4:"City";s:5:"Dover";s:5:"State";s:2:"DE";s:3:"Zip";s:5:"19904";}s:5:"Phone";s:12:"555-555-1234";s:5:"Email";s:16:"john@example.com";}
a:4:{s:4:"Name";s:8:"Jane Doe";s:7:"Address";a:4:{s:6:"Street";s:11:"123 Main St";s:4:"City";s:5:"Dover";s:5:"State";s:2:"DE";s:3:"Zip";s:5:"19904";}s:5:"Phone";s:12:"555-555-5678";s:5:"Email";s:16:"jane@example.com";}
a:4:{s:4:"Name";s:15:"Jonny Appleseed";s:7:"Address";a:4:{s:6:"Street";s:15:"1 Infinite Loop";s:4:"City";s:10:"Coopertino";s:5:"State";s:2:"CA";s:3:"Zip";s:5:"90201";}s:5:"Phone";s:12:"555-555-9101";s:5:"Email";s:15:"jonny@apple.com";}
a:4:{s:4:"Name";s:12:"Jack Sparrow";s:7:"Address";a:4:{s:6:"Street";s:15:"The Black Pearl";s:4:"City";s:17:"Cut Throat Island";s:5:"State";s:7:"Tortuga";s:3:"Zip";s:5:"00001";}s:5:"Phone";s:12:"555-555-1213";s:5:"Email";s:14:"jack@savvy.com";}
a:4:{s:4:"Name";s:14:"Luke Skywalker";s:7:"Address";a:4:{s:6:"Street";s:15:"17 Jedi Council";s:4:"City";s:8:"Corasant";s:5:"State";s:2:"XX";s:3:"Zip";s:5:"99999";}s:5:"Phone";s:12:"555-555-1415";s:5:"Email";s:17:"luke@theforce.com";}';



$fexplode = explode(PHP_EOL, $data);

foreach ($fexplode as $uline) {
     ?>
<table cellpadding="2" cellspacing="2" align="left">
<table>
<?php
    foreach (unserialize($uline) as $item => $value){ 
?>
    <tr>
    <td><b><?php echo $item . ": ";?></b></td>
    <td><?php if ($item == 'Address'){
                    print "Need to print address array here";
                }
                else {
            echo $value;
        }
        ?> </td>
    </tr>
    <br>
 <?php } ?>
 </table>
 <?php } ?>

检查带有地址值的项目,然后分配内爆

if(is_array($value)):
    foreach($value as $value_in):
       echo $value_in;
    endforeach;
endif;




因此,检查
$value
是否为数组。在谷歌搜索了一个小时的答案后,当我发现我的问题有这么简单的解决方案时,我想哭了。谢谢你的帮助@如果这个答案对你有用,请接受这个答案。因为我不知道我可以。我只是再次感谢你
<td><b><?php echo ($item == 'Address') ? '' : $value." " ;?></b></td>
    <td><?php if ($item == 'Address'){
                    print implode("<br />",$value);
                }
                else {
            echo $value;
        }
        ?> </td>
<?php

$data = 'a:4:{s:4:"Name";s:8:"John Doe";s:7:"Address";a:4:{s:6:"Street";s:11:"123 Main St";s:4:"City";s:5:"Dover";s:5:"State";s:2:"DE";s:3:"Zip";s:5:"19904";}s:5:"Phone";s:12:"555-555-1234";s:5:"Email";s:16:"john@example.com";}
a:4:{s:4:"Name";s:8:"Jane Doe";s:7:"Address";a:4:{s:6:"Street";s:11:"123 Main St";s:4:"City";s:5:"Dover";s:5:"State";s:2:"DE";s:3:"Zip";s:5:"19904";}s:5:"Phone";s:12:"555-555-5678";s:5:"Email";s:16:"jane@example.com";}
a:4:{s:4:"Name";s:15:"Jonny Appleseed";s:7:"Address";a:4:{s:6:"Street";s:15:"1 Infinite Loop";s:4:"City";s:10:"Coopertino";s:5:"State";s:2:"CA";s:3:"Zip";s:5:"90201";}s:5:"Phone";s:12:"555-555-9101";s:5:"Email";s:15:"jonny@apple.com";}
a:4:{s:4:"Name";s:12:"Jack Sparrow";s:7:"Address";a:4:{s:6:"Street";s:15:"The Black Pearl";s:4:"City";s:17:"Cut Throat Island";s:5:"State";s:7:"Tortuga";s:3:"Zip";s:5:"00001";}s:5:"Phone";s:12:"555-555-1213";s:5:"Email";s:14:"jack@savvy.com";}
a:4:{s:4:"Name";s:14:"Luke Skywalker";s:7:"Address";a:4:{s:6:"Street";s:15:"17 Jedi Council";s:4:"City";s:8:"Corasant";s:5:"State";s:2:"XX";s:3:"Zip";s:5:"99999";}s:5:"Phone";s:12:"555-555-1415";s:5:"Email";s:17:"luke@theforce.com";}';



$fexplode = explode(PHP_EOL, $data);

foreach ($fexplode as $uline) {
     ?>
<table cellpadding="2" cellspacing="2" align="left">
<table>
<?php
    foreach (unserialize($uline) as $item => $value){
?>
    <tr>
    <td><b><?php echo $item . ": ";?></b></td>
    <td><?php if ($item == 'Address'){


        foreach ($value as $current_address_data) {
            echo $current_address_data ;

        }

                }
                else {
            echo $value;
        }
        ?> </td>
    </tr>
    <br>
 <?php } ?>
 </table>
 <?php } ?>