php数组可以存对象吗

PhpPhp 2023-08-28 20:02:29 1127
摘要: 数组是PHP中最重要的数据类型之一,在PHP中的应用非常广泛。因为PHP是弱数据类型的编程语言,所以PHP中的数组变量可以存储任意多个、任意类型的数据,并且可以实现其他强数据类型中的堆、栈、队列等数据结构的功能...

数组是 PHP 中最重要的数据类型之一,在 PHP 中的应用非常广泛。因为 PHP 是弱数据类型的编程语言,所以 PHP 中的数组变量可以存储任意多个、任意类型的数据,并且可以实现其他强数据类型中的堆、栈、队列等数据结构的功能。

简单来说,PHP数组元素的类型没有限制,可以是数字、字符串、布尔值、数组、Object对象等类型。

示例1:

<?php
header("Content-type:text/html;charset=utf-8");
$arr= array(1,2,"3",4,"hello",TRUE);
var_dump($arr);
?>

QQ截图20230628165932.png

示例2:

<?php
header("Content-type:text/html;charset=utf-8");
$array = array
(
    array("张三",25,"男"),
    array("李四",21,"男"),
    array("娜娜",22,"女")
);
var_dump($array);
?>

QQ截图20230628165941.png

如果一个数组中的元素是另一个数组,就构成了包含数组的数组,即多维度数组:

二维数组

三维数组

四维数组

.....

不过数组超过三维之后可读性就会大大降低,同时也不便于管理。

示例3:

<?php
header('content-type:text/html;charset=utf-8');  
class foo{
    function do_foo(){
        echo "Doing foo.";
    }
}
$bar = new foo;
$arry1=array(1,$bar);//这里将实例化的对象存入数组
var_dump($arry1);//这里打印数组结构 你会发现下标1的位置存储了一个object对象
$arry1[1]->do_foo();//以数组形式 调用do_foo();
$bar->do_foo();//正常的调用do_foo()
//两种方式输出是一样的 充分说明 数组是可以存储对象的
?>

QQ截图20230628165951.png