当前位置: 首页 > news >正文

js php 数组比較

   php 与 javascript 数组除了定义以及 操作上有非常大的差别,还有非常多其他的差别。如今我们就来讨论讨论。
   1.大家都知道php比較两个数组是否全相等(值,索引)相等
  $a=array(1,2,3);
  $b=array(1,2,3);
  echo ($a==$b);  //output 是1
  假设是 javascript 呢:请看下面代码返回的:
  <script type="text/javascript">
      var a=['a','b','c'];
      var b=['a','b','c'];
      console.log(a==b);  //output 是false
  </script>



 这是为什么呢?由于javascript 对象我们常成为引用类型,对象的比較均是引用的比較 ,当且它们引用同一基对象时,才相等。以下代码就是基于引用类型数组比較
   
      var a=['a','b','c'];
      var b=a;
      console.log(a==b);   //outupt 是true

 2.php和javascript 关于把数组对象赋值给一个变量也是不一样的。

javascrpt 只赋值的是引用值,对象本省并没有复制一次。而php赋值的是一个副本。

可能说的不够明确,请看代码:

 
<?php
 $a=array(1,2,3);
 $b=$a;
 $b[]=6;
 print_r($a);
 echo '<br/>';
 print_r($b);
 //Array ( [0] => 1 [1] => 2 [2] => 3 )  
//Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 6 )
  js代码:
      var a=['a','b','c'];
      var b=a;
      b[3]='d';
      console.log(a);
      console.log(b);
      //output 
      //["a", "b", "c", "d"] index12.html:12
      //["a", "b", "c", "d"] index12.html:13

相关文章:

  • 西工大10级保研机试 柱状图
  • transform 实现响应式绝对居中
  • 需求调研与分析流程
  • InfoQ在ETE大会上对Android工程师Jake Wharton的采访
  • 自己动手做聊天机器人 一-涉及知识【转】
  • Linux下安装Nginx详细图解教程
  • 用到qsort的一道题(+qsort模板)
  • js中函数的参数注意事项
  • flume 简单实例
  • DirectX11 学习笔记10 - 用文件存储顶点布局
  • 深入浅出TensorFlow(六)TensorFlow高层封装
  • 今日小程序推荐:码农老黄历-看今天哪个方位BUG最少
  • Tomcat 80端口被占用
  • Mac_mac下使用ll等指令
  • Android M Launcher3主流程源码浅析
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • codis proxy处理流程
  • ES6核心特性
  • extjs4学习之配置
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Java,console输出实时的转向GUI textbox
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • js操作时间(持续更新)
  • Ruby 2.x 源代码分析:扩展 概述
  • swift基础之_对象 实例方法 对象方法。
  • unity如何实现一个固定宽度的orthagraphic相机
  • Web标准制定过程
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 关于使用markdown的方法(引自CSDN教程)
  • 简单实现一个textarea自适应高度
  • 区块链将重新定义世界
  • 什么是Javascript函数节流?
  • 我从编程教室毕业
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • No resource identifier found for attribute,RxJava之zip操作符
  • ionic异常记录
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​html.parser --- 简单的 HTML 和 XHTML 解析器​
  • ​iOS实时查看App运行日志
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (003)SlickEdit Unity的补全
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (附源码)spring boot网络空间安全实验教学示范中心网站 毕业设计 111454
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (已解决)什么是vue导航守卫
  • (转)jQuery 基础
  • .jks文件(JAVA KeyStore)
  • .NET 分布式技术比较
  • .Net 路由处理厉害了
  • .Net的C#语言取月份数值对应的MonthName值
  • ::before和::after 常见的用法
  • @RunWith注解作用