2017-04-21 66 views
0

我想創造從MySQL數據庫JSON數組,我試着使用MySQL查詢結果來創建如下JSON數組對象,php json數組沒有索引?

$sql = "select DateTime ,Val1 from my table order by DateTime ASC ;"; 
$result = $db->query($sql); 
$data = array(); 
$rowary = array(); 

while($row = mysqli_fetch_array($result)) 
{ 
    $rowary['DateTime'] = $row['DateTime '] ; 
    $rowary['Val1'] = $row['Val1 '] ; 
    array_push($data,$rowary); 
    } 
echo '<pre>' . var_export($data, true) . '</pre>'; 

回聲結果是:

Array 
(
    [0] => Array 
    (
     [DateTime] => 2017-02-09 12:27:23 
     [Val1] => 21.0333 
    ) 

    [1] => Array 
    (
     [DateTime] => 2017-02-09 16:18:13 
     [Val1] => 23.116699 
    ) 

) 

,但我想要的結果是這樣的:

Array 
(
    Array 
    (
     [DateTime] => 2017-02-09 12:27:23 
     [Val1] => 21.0333 
    ) 

    Array 
    (
     [DateTime] => 2017-02-09 16:18:13 
     [Val1] => 23.116699 
    ) 


) 

請告訴我該怎麼做?

+1

這是一回事。要訪問第一個元素,你應該使用'print_r($ data [0]);'。這將打印第一個包含'2017-02-09 12:27:23'的數組作爲DateTime。 '0,1,2 ....'是鍵/索引。你不能有沒有鍵的數組。 –

回答

2

有數組結構必須有方法讓你訪問這些數組值,你提出的新建議你不能訪問內容,正常數組是[value,value2,....,valuen]和那些被自動索引爲0,1,...,n

對於你來說,數組有內部數組,它必須遵循上面解釋的順序,因爲父類是一個Array => [array1, array2,....,arrayn]

而且這些內層數組也必須像父數組那樣操作,它必須在數據結構中爲每個插槽取值。

因此,你的工作不會順利進行,或者你可能正在考慮其他的東西(數據結構)而不是數組。