您的位置:首页 > 编程语言 > PHP开发

PHP数组与java数组的区别

2014-04-07 15:14 330 查看
(1)

<?php

require_once 'Person.class.php';

$array=array(110,112);

$array002=$array;

if($array002==$array)

{

echo "是同一数组<br/>";

}else{

echo "不是同一数组<br/>";

}

var_dump($array);

echo "<br/>";

var_dump($array002);

echo "<br/>";

$array[0]=222;//一旦$array子元素的某个引用改变,就会开辟一片新的内存,与$array002不同

if($array002==$array)

{

echo "是同一数组<br/>";

}else{

echo "不是同一数组<br/>";



}

var_dump($array);

echo "<br/>";

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数组 引用

<?php

require_once 'Person.class.php';

$array=array(110,112);

$array002=&$array;//引用相同

if($array002==$array)

{

echo "是同一数组<br/>";

}else{

echo "不是同一数组<br/>";

}

var_dump($array);

echo "<br/>";

var_dump($array002);

echo "<br/>";

$array[0]=222;

if($array002==$array)

{

echo "是同一数组<br/>";

}else{

echo "不是同一数组<br/>";



}

var_dump($array);

echo "<br/>";

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)

<?php

require_once 'Person.class.php';

$person=new Person("wuxifu002", 110);

$array=array($person);

$array002=$array;

$array003=array($array);//拿的只是$array子元素的引用

if($array002==$array)

{

echo "是同一数组<br/>";

}else{

echo "不是同一数组<br/>";

}

var_dump($array);

echo "<br/>";

var_dump($array002);

echo "<br/>";

$array[1]=new Person("hello", 0);//一旦数组$array有新的元素添加,会开辟一个新的内存与$array002不同

$array[0]->setName("wuxifu003");

if($array002==$array)

{

echo "是同一数组<br/>";

}else{

echo "不是同一数组<br/>";



}

var_dump($array);

echo "<br/>";

var_dump($array002);

echo "<br/>";

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数组 除了基本数据类型,其它全部是引用类型





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: