php变量可以同时保存多种数据类型吗?

时间:2012-01-17 08:03:50

标签: php

我猜这已经被问过了。我知道在php中你可以改变变量的数据类型,如本例所示。

$var = '3';

if (is_string($var))
    echo "variable is now string <br />";

$var = $var+1;

if (is_int($var))
    echo "variable is now integer <br />";

但是,变量可以在一个时间点保存多个数据类型吗?

5 个答案:

答案 0 :(得分:0)

没有。 PHP只是解释它喜欢的值,因为它是弱类型的。

答案 1 :(得分:0)

没有。变量一次只能保存一个值。当然,该值可以是数组或对象,它本身可以包含多个值,但变量本身仍然是对单个对象的引用。

答案 2 :(得分:0)

数组可以包含许多类型的项目。

$array = array("string",1,false,fopen(__FILE__,"r"));
var_dump($array);

但作为一个变量本身,它只能是一种类型 - array

但是我觉得这个问题没有任何意义,或者想象任何理由要问它。一次拥有几种类型的变量有什么意义?可能只是不明确的问。

答案 3 :(得分:0)

如果在代码中添加如下所示的var_dump:

$var = '3';
var_dump($var);
if (is_string($var))
    echo "variable is now string <br />\n";
$var = $var+1;
var_dump($var);
if (is_int($var))
    echo "variable is now integer <br />\n";

您的输出将是:

string(1) "3"
variable is now string <br />
int(4)
variable is now integer <br />

这表示一个简单规则,PHP允许您以任何您喜欢的方式使用变量,更改它所代表的数据类型,就像在代码中使用一样。

答案 4 :(得分:0)

是。如果是数组或对象,则变量可以是 holder ,用于多个数据类型和单个时间点的值。