从API获取变量,非法字符串偏移量

时间:2018-05-03 08:09:50

标签: php

我想在我的网站上使用真钱付款。 源代码在那里: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": ""
}

我有以下错误: “警告:非法字符串偏移'金额'”

所以我不能使用我的可变金额。

如何将金额提取到变量中?

3 个答案:

答案 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,你是对的。谢谢。