phpjs数组
‘壹’ 一张图让我看懂php和JS区别
1,类型转换的不同
在javascript中, 空对象和空数组转换为boolean值为true;
但在php中 ,空对象空数组转换为boolean值为false;
(仅在php4中空对象的boolean值为false)
包括非0的负数值,都是转换为true;
2,实形参的不同
在js中形参和实参的个数对比起来都没有限制,形参个数可以大于实参,也可以少于实参
而在php中,实参数大于形参不报错,但当实参个数少于形参个数时(并且未指定的形参未定义时就会报错)
复制代码
代码如下:
function mao(val1,val2,val3){
}
mao(aa,bb);
此时由于val3未指定实参,会报错
但当val3初始化一个值时,不报错
复制代码
代码如下:
function mao(val1,val2,val3="123"){
}
mao(aa,bb);
js中可以写一个三元表达式来给未赋值的形参给定一个初始值,不可以和php一样在形参列表里面赋值,
本质原因由于php不存在原型连,执行过程中没有变量对象。
3.数据类型的不同
js中有undefined类型,php中无此类型,
因此当一个变量未赋予任何值时,js中此类型为undefined(使用未申明的变量会报错),而在php中则为Null类型;
并且js中只有number类型,而在php中无此类型,取代的为int float类型;
4.字符串的连接
js中使用加号 + +=
php中使用点号 ..=
5.控制语句的区别
else if与elseif在php中都支持,js只支持前者
6.大小写问题
js严格区分大小写
php中自定义函数名不区分大小写。命名函数时不可使用已声明的函数,或PHP内建的函数名称。
7.变量的作用范围
php在函数范围之外所声明的变量就是全局变量。由于函数可以视为单独的
程序片段,所以局部变量会复盖全局变量的能见度,因此在函数中并无
法直接调用使用全局变量。函数中若要使用全局变量时,必须要利用global关键字定义目标变量,以
告诉函数主体此变量为全局。
js由于原型连的关系,可直接调用
8.静态变量
PHP支持声明函数变量为静态的(static)
js随无静态变量但可以定义函数的属性来冒充静态变量
‘贰’ js中如何使用php中的数组
你先侍塌老用一老升个js变量接收php端的数组,如 var arr = <?php $y ?>(大致是这样,如果错了,请别打我呀,我忘记啦)
for(var i=0;i<arr.length;i++)
{
}
接下来用for就可以使用php的数组了呀衫渗。
‘叁’ Js和Php的区别是什么
1、两者的核心功能不一样:
php中的核心功能是用函数方式实现,例如取得一个字符串的长度:$length = strlen(str);
而js是用对象的方法实现,例如取得一个字符串的长度:var length = str.length。
2、变量传值方式不一样:
js中,变量的传值传递和传址传递是根据传递的对象的类型决定的,不能自己随心控制;
而php中所有类型都可以自由控制其传值是传值还是传址,在变量前加上&就可以变成传址方式,不加&就是传值方式。
3、两者基本特点不一样:
php是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。
js是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
‘肆’ js中如何获取php数组
js中获取php数组的代码如下:
function ajax_test(params){
$.ajax({
url:'./php/data_read.php',
type:'post',
dataType:'html',
data:params,
error: function(){alert('error');},
success:function(procts){
alert(procts);
}
});
}
‘伍’ js和php在同一个文件中相互获取值的问题
你好php是服务端脚本语言,js是浏览器端脚本语老漏言,除非使用滚慎ajax进行数据提交否则,一但服务端生成好页面传到浏览器端后就不再参与浏览器端的“运算”,所以你想在同一个页面中不重新进行请求就js和php相互获取值是不现实的。
另:
你的代码分析如下:
<script>
varlinka;
linka=window.location.href;
</script>
<?php
$ch[0]="<script>document.write(linka);</script>";
echo$ch[0]."<br/>";
<script>
到这步为止,php获得js的变量非常顺利
下面侍备烂接着
<script>
vark;
k="<?phpecho$ch[0];?>";
alert(k);
</script>
其实你的整个页面都是php的,执行
$ch[0]="<script>document.write(linka);</script>";
这一句的时候,php的$ch[0]仅仅只是被赋予了"<script>document.write(linka);</script>"这个字符串,js代码并没有运行.php也并没有获得js的变量!获得的只是字符串而已.
‘陆’ php和js互相调用,php中有一个数组,在html有一个按钮,按钮调用js函数的时候会传一个数字参数
那就只能使用ajax了!也就是按钮触发js函数后, ajax再次异步执行一次php并返回结果而进行后续操作!
或者页面执行的时候, 直接将php数组输出js格式的json数据,也行!
比如:
<?php
$arr=array(
array('a'=>'abc'),
array('a'=>'bcds')
);
?>
<script>
vararr=<?phpechojson_encode($arr)?>;
functionmods(num){
//你自己的操作,下面只是测试而已
alert(arr[num].a);
//arr[num].a就是你要的值
}
</script>
<buttontype="botton"onClick="mods(0)">按钮</button>
‘柒’ php鏁扮粍浼犻丣S鏂规硶閲岄溃铡 濡备綍鍦↗S閲岄溃阆嶅巻杩欎釜PHP鏁扮粍锛
浠g爜濡备笅: = <?php $arr = array('鏁板' => '98', '璇鏂' => '103', '鑻辫' => '108'); foreach($arr as $k => $v) { $sql = ,SYFmap