php - 将标准对象数组从 SOAP 循环到数据库 PHP

标签 php mysql arrays soap

获取 SOAP 响应作为 STD 对象。 我正在尝试将其放入 mysql 数据库中。

for ($i = 0; $i < sizeof($getrelaties); $i++) {
    $array = get_object_vars($getrelaties[$i]);
    print "<pre>";
    print_r($array);
    print "</pre>";
    print "<hr>";

    foreach ($array as $key => $val) {
        echo $key;
        echo $val;
    }
};
  

我正在获取键(即行名称)和值。但有点坚持让它们分开,所以我可以把它们放在查询中 这是对象中的一个数组。

(
    [ID] => 4876260
    [AddDatum] => 2015-09-24T09:16:00
    [Code] => K0001
    [Bedrijf] => Henk
    [Contactpersoon] => 
    [Geslacht] => m
    [Adres] => 
    [Postcode] => 
    [Plaats] => 
    [Land] => 
    [Adres2] => 
    [Postcode2] => 
    [Plaats2] => 
    [Land2] => 
    [Telefoon] => 
    [GSM] => 
    [FAX] => 
    [Email] => ******@gmail.com
    [Site] => 
    [Notitie] => 
    [Bankrekening] => 
    [Girorekening] => 
    [BTWNummer] => 
    [Aanhef] => 
    [IBAN] => 
    [BIC] => 
    [BP] => B
    [Def1] => 
    [Def2] => 
    [Def3] => 
    [Def4] => 
    [Def5] => 
    [Def6] => 
    [Def7] => 
    [Def8] => 
    [Def9] => 
    [Def10] => 
    [LA] => 0
    [Gb_ID] => 0
    [GeenEmail] => 0
    [NieuwsbriefgroepenCount] => 0
)

问题是我想将这些数组放入数据库中。 我不想对行进行硬编码。有什么建议吗?

最佳答案

使用serialize()将数组字符串化并存储在 MySQL 中的 BLOB 或 TEXT 字段中:

$serialized_array = serialize($array);

然后,您可以根据需要从数据库SELECT返回这些数据并使用:

$data = unserialize($serialized_array);

这是 100% 可行的方法,因为从第三方 SOAP 服务返回的数组的格式可能会随着时间的推移而发生变化,并且您不会受到这些变化的摆布,并且必须检测它们并相应地迁移您的数据库架构等等

关于php - 将标准对象数组从 SOAP 循环到数据库 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32761240/

相关文章:

javascript - 如何从外部文件 JSON 创建 JAVASCRIPT ARRAY

php:数组中的 glob(不在文件系统中)

php - 如何加载 PEAR 包

php - 时间戳更新问题

mysql - Excel VBA & MYSQL 的 Select LAST_INSERT_ID();

JavaScript 将图像加载到数组中并在图像源中显示

c - 在不同范围内设置和使用变量在 C 中不起作用

php - 使用 PHP 以 HTML 格式返回 Google 图像搜索结果

javascript - 表单字段选项按日期和项目编号更改 URL

PHP变量名和SQL表列名长度