【发布时间】:2015-12-07 22:16:48
【问题描述】:
我正在使用 PHP 为 Stripe 中的客户对象返回一个数组。下面是这个数组的示例:
Stripe\Customer JSON: {
"id": "censored",
"object": "customer",
"account_balance": 0,
"created": 1447428085,
"currency": "usd",
"default_source": "censored",
"delinquent": false,
"description": "From website",
"discount": null,
"email": "email@email.com",
"livemode": false,
"metadata": {
"First_Last": "asdf asdf",
"Info": "|Make: maketest |Model: modeltest |serial: 1 |YOM: 1999",
"Shipping_firstaddr": "asdf asdf",
"Shipping_lastaddr": "asdf",
"Shipping_country": "CA",
"Shipping_zip": "asdf",
"Shipping_city": "asdf",
"Shipping_states": "AK",
"Shipping_mobile": "asdf",
"Same_as_billing?": "Yes",
}
}
我现在需要提取 metadata->Info 中的值,以便管道之间的每个项目都是具有值的变量。例如,最好有一个变量,如 $make,等于管道中的值,在本例中为“maketest”。
编辑:到目前为止,我已将数组中的“信息”隔离到一个变量中。如果我要回显那个变量,它会说“|Make: maketest |Model: modeltest |serial: 1 |YOM: 1999”
编辑 2:我还没有尝试任何代码来处理这个变量。老实说,我不知道从哪里开始。正则表达式?我不知道 RegEx,但很高兴知道这是否是最好的。
编辑 3:所以我在发布之前做了谷歌的东西,但我找不到正确的东西。感谢 cmets 的帮助,我在 Google 上搜索了正确的东西并找到了可行的解决方案。
【问题讨论】:
-
酷。您能分享一下您的尝试和遇到的问题吗?
-
到目前为止,我已经将数组中的“信息”隔离到一个变量中。因此,如果我回显该变量,它将显示为“|Make: maketest |Model: modeltest |serial: 1 |YOM: 1999”@JayBlanchard 我正在考虑学习 RegEx 来完成这项工作?
-
编辑您的问题以显示您尝试过的代码!
-
@miken32 我还没有尝试过,因为我真的不知道从哪里开始......我编辑了。
-
我会先在 Google 中搜索“来自 json 的 php 变量”,如果您的答案不在前 5 名中,我会感到非常惊讶。 JSON 解码内置于 PHP 中。