2017-04-07 8 views
2

今、同じ問題を抱えている人々がたくさんあり、その解決策は機能していません。JavascriptへのPHP配列console.logの後のオブジェクト配列なし

問題

私はRESTコールから戻ってくるタイムズのリストを持っています。 JavaScript配列に格納する必要がある場合を除き、必要なだけ正確に作成されます。それが戻ってくる必要があります正確にどのようにある

PHP

function getOpenAppts() 
{ 
    global $wpdb; 
    $final_array = ""; 
    $td = date('m/d/Y'); 
    $datetime = new DateTime('tomorrow'); 
    $tm = $datetime->format('Y-m-d'); 
    $startDate = $td; 
    $endDate = $tm; 
    $apptTypeID = "23"; 
    $get_loc = $wpdb->get_results('SELECT provid,id FROM location'); 
    foreach($get_loc as $val){ 
    // call to Athena to get open appointments 
     $res = getOpenAppointments($val->id, $val->provid, $startDate, $endDate, $apptTypeID); 
     //print_r($res); 

     // if we got some appointments back strip any that started before now 
     if (array_key_exists('totalcount', $res) && $res['appointments'] > 0) 
     { 
      $tzStr = "America/Los_Angeles"; 
      $tzObject = new DateTimeZone($tzStr); 
      $nowDT = new DateTime(); 
      $nowDT->setTimezone($tzObject); 
      //print_r($nowDT); 
      //print_r("\n"); 
      $appts = array(); 
      for ($i = 0; $i < count($res['appointments']); $i++) 
      { 
       $apptDT = new DateTime($res['appointments'][$i]['date']." ".$res['appointments'][$i]['starttime'], $tzObject); 
       //print_r($apptDT); 
       //print_r("\n"); 
       if ($nowDT < $apptDT) 
        $appts[] = $res['appointments'][$i]; 
      } 
     } 

     if (count($appts) > 0) 
      foreach($appts as $data) { 
       $final_array[] = $data; 
     } 

     else 
      $res; // something went wrong. return error message 
    } 
    echo json_encode($final_array); 
} 

header.phpの

<script> 
    var times = <?php getOpenAppts(); ?>; 
    console.log(times); //Will display properly 
</script> 

enter image description here

しかし..私はそれグローバル変数作るヘッダーである変数回のコンソールを(実行します。私はこれを取得。 enter image description here

それは私にそのコンソールまったく同じリストを与える必要があります。ログには、私を与えた

私は

を試してみましたが、私は走った:。

PARSE.json(times); 

影響なし...

私はPHPで行った:

​​

影響なし...

このプロセスのどの部分が間違っていますか?

+0

グローバル変数だことができますが、PHPの関数' getOpenAppts(内部でどのようなことである避けてください? –

+2

他の場所を上書きしている可能性はありますか?その名前を珍しいものに変更してconsole.logを保存してみてください –

+0

PHPをちょうどアップデートしました – Cam

答えて

1

timeをグローバル変数として使用しています。

宣言の直後にあるconsole.logはすべて正常に印刷されるため、おそらくその値は後のどこかで上書きされます。

は、 `)ほとんどのあなたは、彼らが悪:)

関連する問題