2014-10-28 57 views
0

爲什麼我在使用此函數時遇到未識別的索引錯誤,它輸出的代碼是我想要的,但它也將錯誤引入頁面?身份不明的索引錯誤

if($result) { 
    $jsonData = convert($result); 
} 

function convert($result) { 
$i = 0; 
    $intermediate = array(); 

    while($rows = mysqli_fetch_assoc($result)) { 
     $key = $rows['POS']; 
     $x = $i; 
     $y = $rows['COUNT']; 
     $intermediate[$key][] = array('x' => count($intermediate[$key]), 'y' => $y); 
     $i++; 
    } 


    $output = array(); 

    foreach($intermediate as $key => $values) { 
     $output[] = array(
      "key" => $key, 
      'values' => $values 
     ); 
    } 

    return json_encode($output, JSON_NUMERIC_CHECK); 

它返回的數據是

[{ 「鍵」: 「OW1」, 「值」:[{ 「×」:0, 「Y」:4},{ 「×」: 1, 「Y」:3},{ 「×」:2 「Y」:2},{ 「×」:3, 「Y」:1},{ 「×」:4, 「Y」:1} ]},{ 「鍵」: 「OW2」, 「值」:[{ 「×」:0, 「Y」:4},{ 「×」:1, 「y」 的:2},{ 「×」: 2, 「Y」:1},{ 「×」:3, 「Y」:3},{ 「×」:4, 「Y」:2}]},{ 「鍵」: 「OW3」,「值「:[{」 × 「:0,」 Y 「:4},{」 × 「:1,」 Y 「:5},{」 × 「:2」,Y 「:1},{」 ×「: 3, 「Y」:2},{ 「×」:4, 「Y」:1}]}]

和錯誤這些

說明:未定義指數:OW1在C:\瓦帕\ WWW \ multibar.html.php 24行

說明:未定義指數:OW2在C:\瓦帕\ WWW \ multibar.html.php上線24

說明:未定義指數:OW3在C:\瓦帕\ WWW \ multibar.html.php上第24行

回答

0

通知被拋出,因爲您正在將元素附加到尚未定義的變量。 在PHP中,這實際上不是問題,因爲PHP只是將變量轉換爲任何需要的變量。

爲了消除這個通知一定要初始化所有的變量:

if (!isset($intermediate[$key])) $intermediate[$key] = array(); 
$intermediate[$key][] = array('x' => count($intermediate[$key]), 'y' => $y); 
+0

完美工作,非常感謝! – Engl12 2014-10-28 19:09:23