将数组中的整数和字符串结合起来

将数组中的整数和字符串结合起来

问题描述:

有人可以告诉我我在哪里搞砸了和/或我该如何解决这个问题?将数组中的整数和字符串结合起来

工作代码(PHP):

public $data = array(
    .... 
    .... 
    'copyright' => array(
     'es' => '2013 Mi Empresa', 
     'en' => '2013 My Company', 
    ), 
    .... 
    ....  
); 

断码:

public $data = array(
    .... 
    .... 
    'copyright' => array(
     'es' => date('Y') . ' Mi Empresa', 
     'en' => date('Y') . ' My Company', 
    ), 
    .... 
    ....  
); 

,当我说坏了,我的意思是导致<body>是空的。我也尝试加入(string)date('Y')代替date('Y'),无济于事。

在此先感谢!

+0

你什么错误? – 2014-10-31 00:38:33

+0

PHP连接整数和字符串没有问题。在这种情况下,它总是将一个整数转换为一个字符串。你可以'var_dump(date('Y')。'Mi Empresa');'看看输出是什么? – 2014-10-31 00:38:35

+0

这是一个类属性声明?不,你不能这样做,它需要在构造函数中设置 – Ghost 2014-10-31 00:38:38

不,你不能设置你的属性这样的:

class Test 
{ 
    // this won't work 
    public $data = array(
     'copyright' => array(
      'es' => date('Y') . ' Mi Empresa', 
      'en' => date('Y') . ' My Company', 
     ), 
    ); 

    // even as simple as this 
    public $date_now = date('Y-m-d'); 
} 

引述manual

他们(属性)通过使用公共的关键字之一定义,保护,或私人,然后是一个正常的变量声明。这个声明可能包括一个初始化,但是这个初始化必须是一个常量值 - 也就是说,它必须能够在编译时进行评估,并且不能依赖运行时信息来进行评估。

它只是意味着PHP在编译时不会执行这样的操作;您不能将计算值和函数分配给常量。

设置它的构造函数:

class Test 
{ 
    public $data = array(
     'copyright' => array(
      'es' => '', 
      'en' => '' , 
     ), 
    ); 

    public $date_today = ''; 

    public function __construct() 
    { 
     $this->data['copyright']['es'] = date('Y') . ' Mi Empresa'; 
     $this->data['copyright']['en'] = date('Y') . ' My Company'; 
     $this->date_today = date('Y-m-d'); 
    } 
} 

$test = new Test(); 
echo '<pre>'; 
print_r($test); 

旁注:在没有错误问题的事情的问题是,最有可能的错误报告被关闭。 (白色的死亡屏幕)。

始终打开它的发展阶段:

error_reporting(E_ALL); 
ini_set('display_errors', '1');