从多维数组中获取字符串

时间:2016-07-18 10:41:51

标签: php arrays multidimensional-array

我试图获取此数组中的数据,我只需将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" }

1 个答案:

答案 0 :(得分:2)

你可以查看PHP Docs并使用它:

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

DateTime是一个对象,而不是一个数组。它有从中获取数据的方法。您可以使用函数date()格式化结果日期时间。

或者,如果您只需要其值date

$time = $incidentOpen->date;