相关疑难解决方法(0)

在php中创建匿名对象

我们知道,在JavaScript中创建匿名对象很容易,如下面的代码:

var object = { 
    p : "value", 
    p1 : [ "john", "johnny" ]
};

alert(object.p1[1]);
Run Code Online (Sandbox Code Playgroud)

输出:

an alert is raised with value "johnny"
Run Code Online (Sandbox Code Playgroud)

在PHP的情况下可以应用相同的技术吗?我们可以在PHP中创建匿名对象吗?

php oop object

128
推荐指数
7
解决办法
8万
查看次数

PHP对象文字

在PHP中,我可以很容易地指定数组文字:

array(
    array("name" => "John", "hobby" => "hiking"),
    array("name" => "Jane", "hobby" => "dancing"),
    ...
)
Run Code Online (Sandbox Code Playgroud)

但是如果我想要一些对象呢?如何在PHP中指定对象文字?即在JavaScript中它将是:

[
    {name: "John", hobby: "hiking"},
    {name: "Jane", hobby: "dancing"}
]
Run Code Online (Sandbox Code Playgroud)

php object literals object-literal

56
推荐指数
3
解决办法
3万
查看次数

用于使用预填充数据创建 stdClass 的 PHP 快速语法

我应该补充一点,虽然 KVP 数组工作得很好,但在进行 OOP 时我更喜欢对象,因为它$foo->bar->foo看起来比$foo->bar['foo']我认为的更干净。

$foo = array('foo' => 'bar');PHP 有一种很好的方法,可以通过甚至新的 5.4 括号语法:来创建带有预填充数据的数组$foo = ['foo' => 'bar'],但对象 ( ) 似乎不存在相同的语法stdClass

数组演示

<?php
    class Foo {
        public $bar = array(
            'foo' => 'bar',
            'bar' => 'foo'
        );
    }

    $foo = new Foo;
    var_dump($foo->bar);
    /*
        array(2) {
          ["foo"]=>
          string(3) "bar"
          ["bar"]=>
          string(3) "foo"
        }
    */
?>
Run Code Online (Sandbox Code Playgroud)

太棒了 - 如果我们想在不使用 a 的情况下__construct对对象执行相同的操作怎么办?


尝试#1 - 转换为对象- 不;我们不能在类变量的声明中进行强制转换: …

php oop casting object

5
推荐指数
1
解决办法
3872
查看次数

PHP和"数组json风格",为什么不呢?

我不知道我是否可以在这里提出这个问题.我经常弄错,但......

我每个人都想在PHP上使用"数组json样式" $a = [1, 2, $value];.但我读到PHP开发人员讨厌这个想法,因为有太多人想要,他们认为最好不要提供这个功能.

问题是:为什么? 我认为这可能与某些现有功能相冲突,但我想不到任何功能.

附加:有人知道什么是PHP开发功能列表(在哪里提供和讨论)?

php arrays json

1
推荐指数
1
解决办法
678
查看次数

标签 统计

php ×4

object ×3

oop ×2

arrays ×1

casting ×1

json ×1

literals ×1

object-literal ×1