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数组 除了基本数据类型,其它全部是引用类型
<?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数组 除了基本数据类型,其它全部是引用类型
相关文章推荐
- 关于PHP、JAVA、.NET这三种技术的区别
- php数组合并用加号和用array_merge()的区别
- java中数组和C语言数组的区别
- java数组和c中数组的区别
- java 集合与数组的区别
- PHP的CURLOPT_POSTFIELDS参数使用数组和字符串的区别
- java学习(12)对象数组初始化 java与C++的区别
- php和java的区别(个人感想)
- Java、C#、C++定义数组区别
- Java中具有映射关系的容器:数组和Map的区别
- Java/C++中数组的区别
- 浅析PHP中for与foreach两个循环结构遍历数组的区别
- PHP合并数组+与array_merge的区别分析
- Java 数组和链表的区别以及使用场景
- PHP合并数组+与array_merge的区别分析
- Java与PHP的区别
- [置顶] php超级预定数组( 类似javaWeb中域对象),函数,对象,进一步加深知识点
- PHP和Java的主要区别有哪些?哪个最适合Web开发语言?
- PHP数组相加操作及与array_merge的区别浅析
- PHP数组相加操作及与array_merge的区别浅析