2016-09-16 84 views
2

我想在頁面上顯示來自api調用的一些數據。數據是用於比特幣支付的。所以我有訂單,如果客戶用比特幣支付我想看到確認,金額等。獲取JSON數組並顯示來自該數組的結果

Here is one example url哪些返回json數據。

這裏就是我想在我的控制器

public function ordersView($orderId) { 
    /** @var Order $order */ 
    $order = Order::where('order_id', $orderId)->first(); 
    if (!$order) { 
     App::abort(404); 
    } 

    $url="http://btc.blockr.io/api/v1/tx/info/9585d5f635eddf737c8351bfe0879c3dbef3d94de9feda2bd74c990b06b7dc52"; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_URL,$url); 
    $result=curl_exec($ch); 
    curl_close($ch); 

    $total = file_get_contents($url); 

    return View::make('site.admin.orders_view', [ 
     'order' => $order, 
     'total' => $total 
    ]); 
} 

,然後在視圖

@foreach($order->getOrderData($order->data) as $itemId => $item) 

    // some product info like name, description etc.. 

    @foreach($total as $i => $totals) 
      {{ $totals['confirmations'] }} 
      {{ $totals['time_utc'] }} 
    @endforeach 
@endforeach 

當前的錯誤,我得到的是

'Invalid argument supplied for foreach() 

在內部的foreach

@foreach($total as $i => $totals) 
      {{ $totals['confirmations'] }} 
      {{ $totals['time_utc'] }} 
    @endforeach 

有人可以幫我解釋這些數據嗎?

回答

1

您需要在陣列甲的響應進行轉換,因爲你的反應是JSON 所以嘗試你轉換JSON數組使用此功能json_decode() ...

$url="http://btc.blockr.io/api/v1/tx/info/9585d5f635eddf737c8351bfe0879c3dbef3d94de9feda2bd74c990b06b7dc52"; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_URL,$url); 
    $result=curl_exec($ch); 
    curl_close($ch); 

    $total =json_decode(file_get_contents($url),true); 

和你的反應是......

Array 
(
    [status] => success 
    [data] => Array 
     (
      [tx] => 9585d5f635eddf737c8351bfe0879c3dbef3d94de9feda2bd74c990b06b7dc52 
      [block] => 429605 
      [confirmations] => 468 
      [time_utc] => 2016-09-13T12:59:24Z 
      [is_coinbased] => 0 
      [trade] => Array 
       (
        [vins] => Array 
         (
          [0] => Array 
           (
            [address] => 19c9JnCoyRqUkUjJkbdK9qDApk2a5Vy558 
            [is_nonstandard] => 
            [amount] => -0.103855 
            [n] => 0 
            [type] => 0 
            [vout_tx] => ebe35a1aee39c17668a26a6d91d49e83651ee1c5fe28f23130202e617054e545 
           ) 

         ) 

        [vouts] => Array 
         (
          [0] => Array 
           (
            [address] => 1DsRkxNy8LAAbi6kEh6ZoeZGjAVBuia4uw 
            [is_nonstandard] => 
            [amount] => 0.00295729 
            [n] => 0 
            [type] => 1 
            [is_spent] => 1 
           ) 

          [1] => Array 
           (
            [address] => 1NusFWAG3mgkLszWo5oH13FLbwVaJZ6aRL 
            [is_nonstandard] => 
            [amount] => 0.10069771 
            [n] => 1 
            [type] => 1 
            [is_spent] => 0 
           ) 

         ) 

       ) 

      [vins] => Array 
       (
        [0] => Array 
         (
          [address] => 19c9JnCoyRqUkUjJkbdK9qDApk2a5Vy558 
          [is_nonstandard] => 
          [amount] => -0.10385500 
          [n] => 0 
          [type] => 0 
          [vout_tx] => ebe35a1aee39c17668a26a6d91d49e83651ee1c5fe28f23130202e617054e545 
         ) 

       ) 

      [vouts] => Array 
       (
        [0] => Array 
         (
          [address] => 1DsRkxNy8LAAbi6kEh6ZoeZGjAVBuia4uw 
          [is_nonstandard] => 
          [amount] => 0.00295729 
          [n] => 0 
          [type] => 1 
          [is_spent] => 1 
          [extras] => Array 
           (
            [asm] => OP_DUP OP_HASH160 8d2af96bbb1c0464c8129db247458769b6767a10 OP_EQUALVERIFY OP_CHECKSIG 
            [script] => 76a9148d2af96bbb1c0464c8129db247458769b6767a1088ac 
            [reqSigs] => 1 
            [type] => pubkeyhash 
           ) 

         ) 

        [1] => Array 
         (
          [address] => 1NusFWAG3mgkLszWo5oH13FLbwVaJZ6aRL 
          [is_nonstandard] => 
          [amount] => 0.10069771 
          [n] => 1 
          [type] => 1 
          [is_spent] => 0 
          [extras] => Array 
           (
            [asm] => OP_DUP OP_HASH160 f05a37d55fa0512b32320cf362bb96f94d886259 OP_EQUALVERIFY OP_CHECKSIG 
            [script] => 76a914f05a37d55fa0512b32320cf362bb96f94d88625988ac 
            [reqSigs] => 1 
            [type] => pubkeyhash 
           ) 

         ) 

       ) 

      [fee] => 0.00020000 
      [days_destroyed] => 0.05 
      [is_unconfirmed] => 
      [extras] => 
     ) 

    [code] => 200 
    [message] => 
) 
+0

感謝您的答案,但我仍然得到這個錯誤''爲foreach提供的foreach()'無效參數.. – Garg

+0

我已經刪除了'foreach'循環並試圖直接訪問'$ total ['confirmations' ]'但是得到了'NULL' – Garg

+0

我已經在我的本地嘗試了你的代碼,它的工作正常。 –