我正在使用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",
}
}
我现在需要提取元数据 - > Info中的值,以便管道之间的每个项目都是带有值的变量。例如,最好让变量(如$ make)等于管道中的值,在本例中为“maketest”。
编辑:到目前为止,我已将数组中的“信息”隔离成变量。如果我要回应那个变量,它会说“| Make:maketest | Model:modeltest | serial:1 | YOM:1999”
编辑2:我还没有尝试过任何代码来对这个变量做任何事情。老实说,我不知道从哪里开始。正则表达式?我不知道RegEx,但很高兴知道这是最好的。
编辑3:所以在发布之前我做了谷歌的东西,但我找不到正确的东西。感谢评论的帮助,我搜索了正确的东西,并想出了一个可行的解决方案。答案 0 :(得分:0)
我正在使用此代码将事物列入变量并且它有效! $ info是一个变量,它带有来自元数据的“Info”,所以echo它将是“| Make:maketest | Model:modeltest | serial:1 | YOM:1999”
然后就这样做
list($Make, $Model,$Serial, $YOM)=explode('|',$info);
var_dump($Make);
var_dump($Model);
var_dump($Serial);
var_dump($YOM);
这导致列出这些变量,使得$ Make =“Make:maketest”
这不理想,但我可以解决这个问题。