如何在php中访问对象

时间:2016-10-29 06:29:20

标签: php ajax

我正在使用以下代码访问对象属性

$address   = $_POST['address'];
$balance = file_get_contents('https://block.io/api/v2/get_address_balance/?api_key=xxxx&addresses='. $address);
        echo $balance->data->available_balance;
        Print_r($balance);

其实我想要回显available_balance,print_r的输出就是这个

{
  "status" : "success",
  "data" : {
    "network" : "BTC",
    "available_balance" : "0.00000000",
    "pending_received_balance" : "0.00000000",
    "balances" : [
      {
        "user_id" : null,
        "label" : null,
        "address" : "xxxxxxxxxxxxxxxxxxxxxxxxx",
        "available_balance" : "0.00000000",
        "pending_received_balance" : "0.00000000"
      }
    ]
  }

这个问题的下一部分是请建议我如何保护免受SQl注入攻击,在我的项目中所有表单都是通过ajax提交的,如果用户每天只能从一个IP向数据库发送20个请求,是否会善于SQL注入保护。

2 个答案:

答案 0 :(得分:4)

我假设这是一个JSON数据,因此您首先要将其解码为PHP对象。请尝试以下代码。

$balance = json_decode($balance);

echo $balance->data->balances[0]->available_balance

答案 1 :(得分:2)

$address   = $_POST['address'];
$balance = file_get_contents('https://block.io/api/v2/get_address_balance/?api_key=xxxx&addresses='. $address);
$obj = json_decode($balance);
print_r($obj);

您必须解码json响应以将其转换为对象,如果您想以关联数组的形式访问它们,您可以这样做

$obj = json_decode($balance,true);
echo $obj['data'][0]['available_balance'];