2017-04-27 85 views
-1

我對某些JSON和PHP有疑問,請參閱下面的json。 如何獲取數字字符串?JSON&Array使用PHP獲取數據

{ 
    」data」: [ 
    { 
    」numbers」: [ 
     { 
     」number」: "XXXX", 
     」type」: 」」 
     } 
     ] 
    } 
    ] 
} 

伊夫試着用下面的,但它不是工作: $項目[ '數字'] [0] - >號;

請注意,$ item數組沒有問題。我只是不知道這裏有什麼問題。

編輯:

我應該指出的是,之前有一個json_decode。 所以結構是這樣的:

Array 
(
    [0] => Array 
    (
     [number] => XXXX 
     [type] => 
    ) 
) 

print_r($item['numbers']); 

這不起作用:$項目[ '數字'] [0] [ '號']; 錯誤:未定義偏移量:0在

謝謝!

+0

你試圖訪問爲 '$項目[' 數據 '] [' 數字 '] [' 數 ']'? – atoms

+0

@AdrianMcCool希望我的帖子能幫助你..你正在訪問錯誤的方式.. –

回答

1
如果你想直接獲取然後使用此代碼

$items->data->numbers->number; 

您可以使用PHP json_decode()。它需要JSON編碼字符串,並將其轉換成一個PHP變量

<?php 
$json_data = '{ 
    "data": [ 
    { 
    "numbers": [ 
     { 
     "number": "11", 
     "Type": "" 
     } 
     ] 
    } 
    ] 
}'; 
$array=json_decode($json_data,true); 
echo "<pre>"; 
print_r($array); 
echo $array["data"][0]["numbers"][0]["number"]; 

然後輸出

Array 
(
    [data] => Array 
     (
      [0] => Array 
       (
        [numbers] => Array 
         (
          [0] => Array 
           (
            [number] => 11 
            [Type] => 
           ) 

         ) 

       ) 

     ) 

) 
Number:11 
1

要獲得數試試這個:

$myJSON->data->numbers->number; 
0

使用PHP的json_decode()功能。

$array = json_decode('{ 
    」data」: [ 
    { 
    」numbers」: [ 
     { 
     」number」: "", 
     」Type」: 」」 
     } 
     ] 
    } 
    ] 
}', true); 

然後你可以作爲$ array [「data」] [「numbers」] [「number」];

+0

更新了源代碼,所以它會返回數組而不是類。感謝您指出:) –

+0

已經有一個json_decode拋出。你看到的是在json_encode之後。 –

0

希望這會幫助你...你試圖訪問哪些實際上不存在。

try this code snippet here

<?php 

ini_set('display_errors', 1); 
$month_options = '{ 
    "data": [ 
    { 
    "numbers": [ 
     { 
     "number": "10", 
     "Type": "" 
     } 
     ] 
    } 
    ] 
}'; 
$array=json_decode($month_options,true); 
echo $array["data"][0]["numbers"][0]["number"];