OMGZui
V2EX  ›  PHP

PHP .net 文档中的一个 bug

  •  
  •   OMGZui · Oct 17, 2018 · 2827 views
    This topic created in 2773 days ago, the information mentioned may be changed or developed.

    http://php.net/manual/zh/language.types.object.php

    转换为对象

    如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型的值被转换成对象,将会创建一个内置类 stdClass 的实例。如果该值为 NULL,则新的实例为空。array 转换成 object 将使键名成为属性名并具有相对应的值,除了数字键,不迭代就无法被访问。

    <?php
    $obj = (object) array('1' => 'foo');
    var_dump(isset($obj->{'1'})); // outputs 'bool(false)'
    var_dump(key($obj)); // outputs 'int(1)'
    ?>
    

    但其实我在 php7 下面返回的是

    $obj = (object) array('1' => 'foo');
    var_dump($obj);
    var_dump(isset($obj->{'1'}));
    var_dump($obj->{'1'});
    var_dump(key($obj));
    
    object(stdClass)#1 (1) {
      ["1"]=>
      string(3) "foo"
    }
    bool(true)
    string(3) "foo"
    string(1) "1"
    

    文档啥时更新下呢?

    2 replies    2018-10-17 10:45:49 +08:00
    eslizn
        1
    eslizn  
       Oct 17, 2018
    OMGZui
        2
    OMGZui  
    OP
       Oct 17, 2018
    @eslizn 中文文档没人更新了么这是
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3352 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 11:13 · PVG 19:13 · LAX 04:13 · JFK 07:13
    ♥ Do have faith in what you're doing.