我想在我的网站上使用真钱付款。 源代码在那里:class.truewallet.php
在另一个文件中,当我测试付款时,我想获取变量“金额”,我需要继续我的脚本。
php中的测试是:
AVAudioSessionCategoryOptionMixWithOthers
结果将是一个数组:
$token = json_decode($wallet->GetToken(),true)['data']['accessToken'];
echo $wallet->Topup($codeTrue,$token);
如果付款完成,我会为每个付款获得价值。
我需要将金额值提取到变量
中当我这样做时:
{
"amount": "",
"serviceFee": "",
"cashcardPin": "",
"createDate": "",
"sourceFee": "",
"totalAmount": "",
"transactionId": "",
"remainingBalance": ""
}
我有以下错误: “警告:非法字符串偏移'金额'”
所以我不能使用我的可变金额。
如何将金额提取到变量中?
答案 0 :(得分:0)
您正试图从$ token变量中获取金额值,但金额是" Topup"的一部分。结果
试试这个:
$token = json_decode($wallet->GetToken(),true)['data']['accessToken'];
$response = $wallet->Topup($codeTrue,$token);
$amount = $response['amount'];
echo $amount;
我忽略了响应类型(我不知道它是一个数组,一个类......),如果它不是一个数组,你可以尝试解码它。
$response = json_decode($response, true);
答案 1 :(得分:0)
啊,$ token是一个字符串而不是你上面发布的'数组'。这是$wallet->Topup()
的结果。
因此将该函数的结果保存到变量中。 Json对其进行解码,然后从中获取金额。
$token = json_decode($wallet->GetToken(),true)['data']['accessToken'];
$response = $wallet->Topup($codeTrue,$token);
$response = json_decode($response, true);
$amount = $response['amount'];
echo $amount;
PS:如果$wallet->Topup()
未成功执行,可能会或可能不会设置'金额',因此您可能还需要检查操作是否成功。
答案 2 :(得分:0)
此处解决方案正在运行:
$token = json_decode($wallet->GetToken(),true)['data']['accessToken'];
//echo $wallet->Topup($codeTrue,$token);
$response = $wallet->Topup($codeTrue,$token);
$response = json_decode($response, true);
$amount = $response['amount'];
echo $amount.'THB';

我想错过删除第2行。 istaro和igs013,你是对的。谢谢。