类型转换int-to-object或scalar-to-array - 是否有真正的用例?

时间:2017-10-04 14:26:50

标签: php types casting

因此PHP允许一些感觉有点奇怪的隐式转换,比如将标量值转换为对象

php > $t = 23;
php > $p = (object)$t;
php > var_dump($p);
php shell code:1:
class stdClass#2 (1) {
  public $scalar =>
  int(23)
}

或者经典陷阱“我在迭代检查中忘记了count()”:

$t = [1, 2, 3];
for ($x = 0; $x < $t; $x++) {
    echo $x . ',';
    if ($x > 5)
        die();
}

(将1,2,3,4,5,6输出$t而非int已投放到$x(其中 工作,如果为空则为0,否则为1') ,而是将{{1}}转换为具有一个元素的数组。

我经常问自己为什么有人会认为这是一个好主意,所以我想知道:有没有人曾经有过一个真实的用例,这种铸造确实有意义或方便/有用?

0 个答案:

没有答案