PHP 空数组值声明


PHP empty array value declaration

我可以以某种方式将数组值声明为字符串,int等而不向其添加值吗?

例如:

public $arr = array(string);
你可以使用它,

就像你认为的那样更容易:

$arr = [];

简短的回答,没有。PHP 是一种弱类型语言,不强加类型。最接近的是类型提示,但在这种情况下,这些提示对您没有帮助。

PHP 不需要(或支持)变量中的显式类型定义 声明;变量的类型由上下文确定,其中 使用该变量。

从 http://php.net/manual/en/language.types.type-juggling.php

是的,你可以

$arr = array();
settype($arr,'string');

PHP 设置类型

如果不定义数组值,则不能将该值声明为字符串、int 等。值null(这是您可以获得的最接近不定义值的值)的类型为 null

这只是

想法,也许不正确,但你可以测试

public function login()
{
    $this->index();//not done yet
    $arr = array();
    foreach ($arr as $element)
    {
        $element = '';
        // or $element = (string)$element;
    }
}

也许更好的方法是使用 stdClass 的对象而不是数组;或者 stdClass 对象的数组。