获取 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/