3

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

例如:

public $arr = array(string);
4

6 回答 6

5

您可以更轻松地使用它:

$arr = [];
于 2017-02-01T07:52:00.290 回答
2

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

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

于 2013-10-07T12:50:14.113 回答
2

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

于 2013-10-07T12:48:48.873 回答
1

是的你可以

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

PHP 设置类型

于 2013-10-07T12:58:04.537 回答
0

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

于 2013-10-07T12:49:10.007 回答
0

只是认为,可能不正确,但您可以测试

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

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

于 2013-10-07T13:19:39.833 回答