2016-07-18 3 views
0

Я пытаюсь получить данные в этом массиве, мне просто нужно, чтобы DATELOGGED и DATECLOSED были установлены как переменные, поэтому я могу обрабатывать их в другом месте в моем скрипте, однако независимо от того, что я делаю получить массив, содержащий результаты, а не только результаты.Получение строки из многомерного массива

Очевидно, мое понимание обработки массива не до нуля, может ли кто-нибудь помочь указать мне в правильном направлении, пожалуйста, так как все, что я прочитал до сих пор, похоже, не охватывает это.

многомерный массив?!?

Вот мой скрипт до сих пор:

  //QUERY ASSYST 
       $assystQ = 
       "  
       SELECT 
       PRODUCT_N, 
       MAX(INCIDENT.INCIDENT_REF) MAX_INCIDENT_REF, 
       MAX(DATE_LOGGED) DATELOGGED, 
       MAX(inc_close_date) DATECLOSED, 
       DATEDIFF(DAY,MAX(DATE_LOGGED),GETDATE()) DAYS_SINCE 
       FROM INCIDENT 
       LEFT JOIN ITEM 
       ON INCIDENT.ITEM_ID = ITEM.ITEM_ID 
       LEFT JOIN PRODUCT 
       ON ITEM.PRODUCT_ID = PRODUCT.PRODUCT_ID 
       WHERE EVENT_TYPE = 'i' 
       AND INC_SERIOUS_ID = '$alertType'  
       AND product_n  = '$assystProductName' 
       AND inc_status  = 'c' 
       GROUP BY PRODUCT_N 
       "; 
       $assystR   = sqlsrv_query($assystconn, $assystQ); 
       while ($ResultOobj = sqlsrv_fetch_array($assystR)) 
       { 

     // CONVERT RESULTS 
     $incidentReferance = $ResultOobj[MAX_INCIDENT_REF]; 
     $incidentOpen  = $ResultOobj[DATELOGGED]; 

     //ECHO RESULTS 
     var_dump($incidentOpen); 
     echo "<br>Last Incident Referance: " .$incidentReferance; 
       }; 

Вот что var_dump возвращается

Я просто не понимаю, как получить эту дату из массива и в один строка.

object(DateTime)#5 (3) { ["date"]=> string(26) "2014-10-20 09:41:40.140000" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Dublin" } 
+0

пожалуйста, вы можете print_r $ Result0obj? –

+0

http://stackoverflow.com/questions/4016727/php-datetime-in-array-as-object-how-to-echo –

+0

print_r возвращает \t ** DateTime объекта ([дата] => 2013-10 -10 11: 17: 18.927000 [timezone_type] => 3 [часовой пояс] => Европа/Дублин) ** – MatthewBryce

ответ

2

Вы можете посмотреть на PHP Docs и использовать это:

$time = date('Y-m-d', $incidentOpen->getTimestamp()); 

DateTime является объектом, а не массив. У этого есть методы для получения данных от него. Вы можете отформатировать дату и время результата с помощью функции date().

Или, если вам просто нужно его значение date:

$time = $incidentOpen->date; 
+0

Спасибо, что это отлично сработало, мой последний код выглядел так: ** $ openDate = date ('Ymd h: i: s ', $ accidentOpen-> getTimestamp()); \t echo $ openDate; ** – MatthewBryce

+0

сделано :) еще раз спасибо – MatthewBryce

Смежные вопросы