PHP从对象数组

时间:2015-11-22 08:52:43

标签: php arrays object

我已经使用PHP一段时间了,我越来越多地使用对象数组而且我对从它检索数据的最佳方法有点困惑。

据我了解,这可以用3种不同的方式完成

这是一个数组:$ array = [“name”=>“value”]

$array->name;

$array["name"];

$array->{"name"};

我注意到在某些情况下结果是空的。有人能解释我为什么吗?

1 个答案:

答案 0 :(得分:0)

您只能使用'[]' - 使用' - >' - 语法的语法和对象(类)访问(关联)数组。请参阅以下示例:

<?php

    // accessing (associative) arrays
    $array = ['name' => 'value'];

    echo "1: " . $array->name . "\n";
    echo "2: " . $array['name'] . "\n";
    echo "3: " . $array->{'name'} . "\n";

    // accessing objects (classes)
    class myClass {
        public $name = 'value22';
        public $name23 = 'value46';
    }

    $object = new MyClass();

    echo "4: " . $object->name . "\n";
    echo "5: " . $object->{'name' . '23'} . "\n";
    //echo "6: " . $object['name'] . "\n";

?>

<强>输出

1: 
2: value
3: 
4: value22
5: value46

示例#6将在PHP中产生致命错误,因此我对其进行了评论。

希望这有帮助。