相关疑难解决方法(0)

为什么返回对象而不是数组?

我在WordPress中做了很多工作,我注意到有更多的函数返回对象而不是数组.除非您特别要求数组,否则数据库结果将作为对象返回.错误作为对象返回.在WordPress之外,大多数API都会为您提供一个对象而不是一个数组.

我的问题是,为什么他们使用对象而不是数组?在大多数情况下,它并不重要,但在某些情况下,我发现物体不仅难以加工而且能够缠绕我的头部.是否有使用对象的性能原因?

我是一名自学成才的PHP程序员.我有文科学位.如果我错过了计算机科学的一个基本方面,请原谅我.;)

php

83
推荐指数
8
解决办法
2万
查看次数

为什么我不能在PHP的DateTime类中访问DateTime-> date?这是一个错误吗?

使用DateTime该类,如果我尝试运行以下代码:

$mydate = new DateTime();
echo $mydate->date;
Run Code Online (Sandbox Code Playgroud)

我会收到此错误消息

注意:未定义的属性:DateTime :: $ date ...

这没有意义,因为在运行var_dump()变量时$mydate,它清楚地表明此属性存在且可公开访问:

var_dump($mydate);

object(DateTime)[1]
  public 'date' => string '2012-12-29 17:19:25' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'UTC' (length=3)
Run Code Online (Sandbox Code Playgroud)

这是PHP中的错误还是我做错了什么?我正在使用PHP 5.4.3.

php datetime

82
推荐指数
3
解决办法
4万
查看次数

为什么我只能在使用之前转储()它时才能到达我的日期对象?

为什么我dump()在使用它之前只能到达我的日期对象?

这是我的功能:

public function checkSubscriptionEndDate($user){

    $subscriptionEndDate = $user->getSubscriptionEndDate();

    dump($subscriptionEndDate);

    if($subscriptionEndDate==null){
        $subscriptionEndDateMessage = $this->get('translator')->trans('subscriptionEndDateMessage');
        $subscriptionStatus = "error";
    }else{

        $subscriptionEndDateDate = $subscriptionEndDate->date;
        // CHECK IF SUBSCRIPTION END DATE IS BEFORE NOW
        if (date('now') < $subscriptionEndDateDate) {
            dump('before');
            $subscriptionStatus = "success";
            $subscriptionEndDateMessage = $this->get('translator')->trans('subscriptionStatusSuccess').' '.date('d/m/Y',strtotime($subscriptionEndDateDate));
        }else{
            dump('after');
            $subscriptionStatus = "error";
            $subscriptionEndDateMessage = $this->get('translator')->trans('subscriptionStatusError').' '.date('d/m/Y',strtotime($subscriptionEndDateDate));
        }   
    }

    return array(
        'subscriptionEndDateMessage' => $subscriptionEndDateMessage,
        'subscriptionStatus' => $subscriptionStatus
    );

    return $subscriptionEndDateMessage;

}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,页面按预期加载,没有问题.但如果我删除这一行:

dump($subscriptionEndDate);

我无法再加载$subscriptionEndDate->date此错误页面中所示:

在此输入图像描述

php datetime var-dump symfony

2
推荐指数
1
解决办法
49
查看次数

标签 统计

php ×3

datetime ×2

symfony ×1

var-dump ×1