PHP 数组自定义格式


PHP array custom format

我才刚刚开始学习PHP。我正在努力从WordPress数据库中获取信息。

该插件将数据从注册表单写入数据库。

我想要的是用我自己的方式格式化这些数据,比如说一个表格,在一个单独的页面上。

所以我已经做的是连接到数据库,并打印数据。这样做是这样的:

<?php
    //connect to the database
    mysql_connect ("host","user","pasw") or die ('Cannot connect to MySQL: ' . mysql_error());
    mysql_select_db ("database") or die ('Cannot connect to the database: ' . mysql_error());
    //query
    $query = mysql_query("select id, data from wp_ninja_forms_subs") or die ('Query is invalid: ' . mysql_error());
    //write the results
    while ($row = mysql_fetch_array($query)) {
        echo $row['id'] . " " . $row['data'] . "
    ";
    // close the loop
    }
    ?>
问题是,我

得到了结果,这并不适合我:

14 a:4:{i:0;a:2:{s:8:"field_id";i:2;s:10:"user_value";s:8:"John Doe";}i:1;a:2:{s:8:"field_id";i:4;s:10:"user_value";s:11:"+3706555213";}i:2;a:2:{s:8:"field_id";i:12;s:10:"user_value";s:9:"Company 1";}i:3;a:2:{s:8:"field_id";i:8;s:10:"user_value";a:1:{i:0;s:13:" Finansiniai ";}}} 15 a:4:{i:0;a:2:{s:8:"field_id";i:2;s:10:"user_value";s:10:"Bill Gates";}i:1;a:2:{s:8:"field_id";i:4;s:10:"user_value";s:11:"+5654412213";}i:2;a:2:{s:8:"field_id";i:12;s:10:"user_value";s:9:"Company 2";}i:3;a:2:{s:8:"field_id";i:8;s:10:"user_value";a:1:{i:0;s:13:" ?vaizd˛io ";}}} 16 a:4:{i:0;a:2:{s:8:"field_id";i:2;s:10:"user_value";s:7:"Person3";}i:1;a:2:{s:8:"field_id";i:4;s:10:"user_value";s:7:"6463213";}i:2;a:2:{s:8:"field_id";i:12;s:10:"user_value";s:9:"Company 3";}i:3;a:2:{s:8:"field_id";i:8;s:10:"user_value";a:2:{i:0;s:10:" HTML/CSS ";i:1;s:12:" Photoshop ";}}} 17 a:4:{i:0;a:2:{s:8:"field_id";i:2;s:10:"user_value";s:11:"Pretty Girl";}i:1;a:2:{s:8:"field_id";i:4;s:10:"user_value";s:9:"643122131";}i:2;a:2:{s:8:"field_id";i:12;s:10:"user_value";s:4:"Zara";}i:3;a:2:{s:8:"field_id";i:8;s:10:"user_value";a:1:{i:0;s:13:" ?vaizd˛io ";}}} 

现在,我想看到的是一个表格:

2013.10.25 美少女 643122131 扎拉·伊瓦兹季奥2013.10.25 人3 6463213 公司 3 HTML/CSS , Photoshop2013.10.25 比尔·盖茨 +5654412213 2公司 伊瓦兹季奥2013.10.25 约翰·多伊 +3706555213 1 菲南西尼艾公司

有人可以告诉我,如何实现这一目标吗?我相信,我的数据输出是一个数组,还是我也错了?

如果是,也许有人可以给我一个例子,如何格式化该数组的一部分,以便我可以完成其余的工作?

甚至一些关于谷歌搜索什么的提示?

谢谢!

"'n" 用于换行符:)

您的个人值(a:4:{i:0....})已被"序列化"。这是一个由四个元素组成的数组,传递给serialize() PHP函数。该函数返回它的文本表示(即它已经"序列化"了数组)。因此,您将整个数组作为简单文本保存在数据库的一个单元格中。

函数 unserialize() 执行相反的操作 - 转换"序列化"(文本)值并返回原始 PHP 对象(在本例中为数组)。

你几乎可以序列化任何PHP对象,只要它没有附加任何"资源"。但是已经有一个单独的问题:什么可能导致PHP序列化函数失败?只要你序列化数字、字符串和数组的数组,甚至是简单的对象,就没有什么可担心的。

您的第一个细胞(第 14 个)未丝化时:

array (
  0 => 
  array (
    'field_id' => 2,
    'user_value' => 'John Doe',
  ),
  1 => 
  array (
    'field_id' => 4,
    'user_value' => '+3706555213',
  ),
  2 => 
  array (
    'field_id' => 12,
    'user_value' => 'Company 1',
  ),
  3 => 
  array (
    'field_id' => 8,
    'user_value' => 
    array (
      0 => ' Finansiniai ',
    ),
  ),
)

(使用:http://www.functions-online.com/unserialize.html)通过 for 循环或其他方式运行这些内容以获得所需的渲染,这取决于您。