PHP数组与java数组的区别

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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值