(1)
require_once 'Person.class.php';
$array=array(110,112);
$array002=$array;
if($array002==$array)
{
echo "是同一数组
";
}else{
echo "不是同一数组
";
}
var_dump($array);
echo "
";
var_dump($array002);
echo "
";
$array[0]=222;
//一旦$array子元素的某个引用改变,就会开辟一片新的内存,与$array002不同
if($array002==$array)
{
echo "是同一数组
";
}else{
echo "不是同一数组
";
}
var_dump($array);
echo "
";
var_dump($array002);
?>
//输出结果
是同一数组
array(2) { [0]=> int(110) [1]=> int(112) }
array(2) { [0]=> int(110) [1]=> int(112) }
不是同一数组
array(2) { [0]=> int(222) [1]=> int(112) }
array(2) { [0]=> int(110) [1]=> int(112) }
(2)//php数组 引用
require_once 'Person.class.php';
$array=array(110,112);
$array002=&$array;
//引用相同
if($array002==$array)
{
echo "是同一数组
";
}else{
echo "不是同一数组
";
}
var_dump($array);
echo "
";
var_dump($array002);
echo "
";
$array[0]=222;
if($array002==$array)
{
echo "是同一数组
";
}else{
echo "不是同一数组
";
}
var_dump($array);
echo "
";
var_dump($array002);
?>
//输出结果
是同一数组
array(2) { [0]=> int(110) [1]=> int(112) }
array(2) { [0]=> int(110) [1]=> int(112) }
是同一数组
array(2) { [0]=> int(222) [1]=> int(112) }
array(2) { [0]=> int(222) [1]=> int(112) }
(3)
require_once 'Person.class.php';
$person=new Person("wuxifu002", 110);
$array=array($person);
$array002=$array;
$array003=array($array);
//拿的只是$array子元素的引用
if($array002==$array)
{
echo "是同一数组
";
}else{
echo "不是同一数组
";
}
var_dump($array);
echo "
";
var_dump($array002);
echo "
";
$array[1]=new Person("hello", 0);
//一旦数组$array有新的元素添加,会开辟一个新的内存与$array002不同
$array[0]->setName("wuxifu003");
if($array002==$array)
{
echo "是同一数组
";
}else{
echo "不是同一数组
";
}
var_dump($array);
echo "
";
var_dump($array002);
echo "
";
var_dump($array003);
?>
//输出结果
不是同一数组
array(1) { [0]=> object(Person)#1 (2) { ["name:private"]=> string(9) "wuxifu002" ["age:private"]=> int(110) } }
array(1) { [0]=> object(Person)#1 (2) { ["name:private"]=> string(9) "wuxifu002" ["age:private"]=> int(110) } }
不是同一数组
array(2) { [0]=> object(Person)#1 (2) { ["name:private"]=> string(9) "wuxifu003" ["age:private"]=> int(110) } [1]=> object(Person)#2 (2) { ["name:private"]=> string(5) "hello" ["age:private"]=> int(0) } }
array(1) { [0]=> object(Person)#1 (2) { ["name:private"]=> string(9) "wuxifu003" ["age:private"]=> int(110) } }
array(1) { [0]=> array(1) { [0]=> object(Person)#1 (2) { ["name:private"]=> string(9) "wuxifu003" ["age:private"]=> int(110) } } }
(4)//java数组除了基本数据类型,其它全部是引用类型
文章图片
文章图片
文章图片
【PHP数组与java数组的区别】
推荐阅读
- 对GO切片的理解
- 小程序商城网站开发秒杀模块篇
- 盲盒购物网站系统开发建设 第三篇
- Netty核心概念之ChannelHandler&Pipeline&ChannelHandlerContext
- 简单的线程池实现多线程对大文件的读取
- SSH 端口转发与 SOCKS 代理
- Ubuntu16.04/Scala2.11.8安装教程
- 学习PHP中的高精度计时器HRTime扩展
- 使用OpenResty+Lua实现灰度测试(金丝雀)
- 使用源码编译安装PHP扩展