在PHP中,数组是关键的数据类型之一,它用于存储一系列值。通常,数组中的值都是标量类型,如字符串、整数和浮点数等。但是,有时候你可能会遇到需要在数组中存储对象的情况。下面,我们就来讲一讲在PHP数组里怎样拿到对象。
首先,我们须知道,在PHP中,对象是一种特殊的数据类型,它可以把数据和对数据的操作封装在一起,这样就可以通过简单的接口来使用数据。对象在实例化后,可以作为一种特殊的值来传递和存储。
在PHP中,我们可以使用关键字“new”来生成一个对象。例如:
class Foo { public $value = 'hello'; } $foo = new Foo();
以上代码中,我们定义了一个名为Foo的类,并创建了一个新的实例化对象$foo,这个对象里有一个名为$value的公用属性。
接下来,我们来看看怎样把对象存储在数组中:
$foo1 = new Foo(); $foo2 = new Foo(); $arr = array($foo1, $foo2);
以上代码中,我们定义了两个实例化对象$foo1和$foo2,然后把它们存储在$arr数组中。
那么,我们怎样从数组中取出这些对象呢?很简单,只需要使用数组下标的方式来访问每个元素即可:
echo $arr[0]->value; // 输出“hello” echo $arr[1]->value; // 输出“hello”
以上代码中,我们访问了数组中第一个和第二个元素,然后输出它们的公用属性$value的值。
除了使用数组下标的方式访问每个元素之外,我们还可以使用foreach循环来遍历整个数组,并取出每个元素:
foreach($arr as $foo) { echo $foo->value . "\n"; }
当然,如果你的数组中存储的是不同类型的对象,你也可以使用is_a()函数来判断每个元素的类型:
class Bar {} $bar = new Bar(); $arr = array($foo1, $bar); foreach($arr as $item) { if (is_a($item, 'Foo')) { echo $item->value . "\n"; // 输出“hello” } else if (is_a($item, 'Bar')) { echo "This is an instance of Class Bar.\n"; } else { echo "Unknown object type.\n"; } }
以上代码中,我们定义了一个名为Bar的类,并创建了一个新的实例化对象$bar。然后把$foo1和$bar对象存储在$arr数组中。在foreach循环中,我们使用is_a()函数来判断每个元素的类型,并输出相应的提示信息。
总结一下,以上就是在PHP数组里拿到对象的方法。通过以上介绍,相信大家已经了解了在PHP程序中怎样使用对象存储在数组中,并取出每个元素。
以上是php数组里的对象怎样拿到的详细内容。更多信息请关注PHP中文网其他相关文章!