【问题标题】:PHP - Access MSSQL datetime column from the returned arrayPHP - 从返回的数组中访问 MSSQL 日期时间列
【发布时间】:2012-07-04 12:29:00
【问题描述】:

PHP - 从返回的数组中访问 MSSQL 日期时间列

Array
(
    [0] => Array
        (
            [CallId] => 45
            [CallLoginId] => 1
            [CustomerId] => 140
            [CallOptionId] => 2
            [CallTypeId] => 2
            [CallStatusId] => 1
            [CallDateTime] => DateTime Object
                (
                    [date] => 2012-06-28 00:00:00
                    [timezone_type] => 3
                    [timezone] => Asia/Kolkata
                )

            [ContactNo] => 45151551115
            [ContactPerson] => Contact Person name
            [ProductId] => 1
            [ProdCompanyId] => 1
            [ProdCategoryId] => 1
            [ModelNo] => 451212151
            [ProdUnderId] => 1
            [Problem] => Simple Problem Details 
            [Remarks] => Remarks 
            [Accessories] => Accessories 
            [CallCaseId] => 
            [CallCaseDate] => 
            [ServiceCharge] => 0
            [CourierName] => 
            [DocketNo] => 
            [CompanyId] => 126
            [ASPId] => 130
            [InsBy] => 134
            [InsDate] => DateTime Object
                (
                    [date] => 2012-06-23 17:04:51
                    [timezone_type] => 3
                    [timezone] => Asia/Kolkata
                )

            [UpdBy] => 11
            [UpdDate] => DateTime Object
                (
                    [date] => 2012-06-28 18:29:23
                    [timezone_type] => 3
                    [timezone] => Asia/Kolkata
                )

            [FName] => Kumar
            [MName] => a
            [LName] => Customer
            [ProductName] => LenovoDesktop420
            [CallOption] => InHouse
            [CallType] => H.W.Installation
            [ProdCompany] => Lenovo
            [ProdCategory] => Desktop
            [ProdUnder] => AMC
            [CallStatus] => Open
            [EntityId] => 134
            [InsertBy] => Bhavin   Rana
        )

)

如何从这个返回的数组中访问日期时间值? 提前致谢。

【问题讨论】:

    标签: php sql-server arrays


    【解决方案1】:

    您有一个外部数组,其中有一个数字索引的元素[0],它是一个关联数组。 CallDateTime 作为该数组的键是 DateTime 对象。

    $array[0]['CallDateTime']->format('Y-m-d H:i:s')  // 2012-06-28 00:00:00
    $array[0]['CallDateTime']->getTimezone()->getName()    // Asia/Kolkata
    
    // Same with InsDate and UpdDate
    $array[0]['InsDate']->format('Y-m-d H:i:s')         // 2012-06-23 17:04:51
    $array[0]['InsDate']->getTimezone()->getName()           // Asia/Kolkata
    

    【讨论】:

    • 致命错误:不能使用 DateTime 类型的对象作为 C:\inetpub 中的数组... where echo $this->CallDetail [0]['ContactNo'];工作正常。
    • @BhavinRana 抱歉,我看错了数据结构。这些是对象,因此您需要通过 -> 访问它们的属性
    • 用 echo $this->CallDetail[0]['CallDateTime']->date 试过;注意:未定义的属性:C:\inetpub\...中的 DateTime::$date...
    • var_dump($this->CallDetail[0]['CallDateTime'])。从上面的结构中可以清楚地看到该属性。
    • 以上 var_dump = object(DateTime)#85 (3) { ["date"]=> string(19) "2012-06-28 00:00:00" ["timezone_type"]= > int(3) ["timezone"]=> string(12) "亚洲/加尔各答" }
    猜你喜欢
    • 1970-01-01
    • 2016-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-21
    • 2014-03-28
    • 1970-01-01
    相关资源
    最近更新 更多