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
js php 数组比較的更多相关文章
- JS基础——数组总结
		
JS中数组被觉得是一种对象,慢慢的,怎么忽然感觉,JS中仅仅要能够独立出来的概念怎么都能够当成对象来解释呢?有点儿怀疑.继续学吧.先来总结一下JS中数组是怎样详细使用的. 一.创建 数组的创建在JS中 ...
 - Js删除数组重复元素的多种方法
		
js对数组元素去重有很多种处理的方法,本篇文章中为网络资源整理,当然每个方法我都去实现了:写下来的目的是希望自己活学活用,下次遇到问题后方便解决. 第一种 function oSort(arr){ v ...
 - js去除数组重复项
		
/** * js去除数组重复项 */ //方法一.使用正则法 // reg.test(str),匹配得到就返回true,匹配不到返回false var arr = ["345",& ...
 - js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法
		
var questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf ...
 - 探讨js字符串数组拼接的性能问题
		
这篇文章主要介绍了有关js对字符串数组进行拼接的性能问题,字符串连接一直是js中性能最低的操作之一,应该如何解决呢?请参看本文的介绍 我们知道,在js中,字符串连接是性能最低的操作之一. 例如: 复制 ...
 - js之数组,对象,类数组对象
		
许久不写了,实在是不知道写点什么,正好最近有个同事问了个问题,关于数组,对象和类数组的,仔细说起来都是基础,其实都没什么好讲的,不过看到还是有很多朋友有些迷糊,这里就简单对于定义以及一下相同点,不同点 ...
 - js对数组的操作函数
		
js数组的操作 用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手, ...
 - JS 索引数组、关联数组和静态数组、动态数组
		
JS 索引数组.关联数组和静态数组.动态数组 数组分类: 1.从数组的下标分为索引数组.关联数组 var ary1 = [1,3,5,8]; //按索引去取数组元素,从0开始(当然某些语言实现从1开始 ...
 - JS 中数组的排序和去重
		
在 PHP 中,数组有很多排序方法,不过其他语言的数组中大概是不会像 JS 的数组一样,包罗万象,啥都通吃的.所以 JS 的数组排序情况就略多一些了. 简单粗暴的排序: 赤果果的sort: var ...
 
随机推荐
- (56) 解决字段设为readonly无法保存
			
问题描述:当一个字段设为readonly =True 后,在form表单,即使你用onchange方法改变了值但也不能保存到数据库当时.平时在这样的要求,form表单有些字段要展示给用户,但又要达到不 ...
 - JAVA多线程知识总结(二)
			
本文是承接上一篇文章:JAVA多线程知识总结(一) 四.Java多线程的阻塞状态与线程控制 上文已经提到线程阻塞的集中具体类型.下面主要看引起JAVA线程阻塞的方法 1,join()-----让一个 ...
 - css3特效第二篇--行走的线条&&置顶导航栏
			
一.行走的线条. 效果图(加载可能会慢一点儿,请稍等...): html代码: <div class="movingLines"> <img src=" ...
 - ZJU 2676 Network Wars
			
Network Wars Time Limit: 5000ms Memory Limit: 32768KB This problem will be judged on ZJU. Original I ...
 - POJ 3749
			
第一道简单密码学的题,太水了,本不打算做,第一道,还是纪念一下. #include <iostream> #include <cstdio> #include <cstr ...
 - Brute force Attack
			
1 Introduction A common threat that webdevelopers face is a password-guessing attack known as a brut ...
 - Linux就该这么学 20181007第十章Apache)
			
参考链接https://www.linuxprobe.com/ /etc/httpd/conf/httpd.conf 主配置文件 SElinux域 ---服务功能的限制 SElinux安全上下文 -- ...
 - [JZOJ 4307] [NOIP2015模拟11.3晚] 喝喝喝 解题报告
			
题目链接: http://172.16.0.132/senior/#main/show/4307 题目: 解题报告: 题目询问我们没出现坏对的连续区间个数 我们考虑从左到有枚举右端点$r$,判断$a[ ...
 - TYVJ 1541 八数码
			
Orz双向搜索的cy大神 我用的是hash 也蛮快的 //By SiriusRen #include <queue> #include <cstdio> using names ...
 - POJ 3269 中位数
			
题意: 思路: 这道题坑也不少.. 你准备好脑洞了么? 首先 要认真审题 题目中有说:"没有两头牛的吃草位置是相邻的" 这句话让我们省了很多的事儿 (Discuss里有的大神就入了 ...