php入门教程—打通前后端

php入门教程(二)后端编程语言的特征

2019-09-30  本文已影响0人  党云龙

历史谜案

你有没有想过,php和js——除了一个运行在前端,一个在后端,还有什么?

来看一个例子:

var b = 1;
function fun(){
    b = 2;
}
fun();
console.log(b);

会打印出来什么?不用想了肯定是2。
但是问题就来了,怎么是2???你用了这么多年js你难道没有发现这个问题吗。
你为什么能在函数体内去修改,全局中变量的值??

看下php

$v = 1;
function getV(){
    $v = 10;
}
getV();
print($v)

这里打印出来1。

证明了一件事:js中变量是没有块作用域的。块作用于就是{}括号里面的东西,没有块作用域,变量跟全局的就没什么区别。能明白吗,整个js,无论在什么地方,你都有可能会修改到全局,污染全局的数据。这可不是闹着玩的。

php是较为严谨的编程语言,所以,不存在这种情况。
我们太需要对变量进行规范了。
虽然es6中诞生了const和let,但是说实话,这还远远不够。。

php非常依赖方法


ok,我们知道了在php中,变量存在作用域。
那么他的声明变量或者数组的写法有什么区别呢?

php无论是声明产量还是创建数组,都是通过方法完成的,它不像js那么随意,一个var arr=[] 就能创建数组,它创建数组要通过$arr = array()完成

$array = array("java","php","nodejs");
print_r($array);
echo "<br/>";
echo $array[0];
echo "<br/>";
$array2 = array("key1"=>"java","key2"=>"php");
echo $array2["key1"];

我知道这些有什么用?


你可以发现,从第一章到第二章,全他妈是在讲理论的东西。无非你就是想告诉我,js和php写法不一样,运行的地方不一样。有什么用?

我还是一样不会写接口!

别急,咱们慢慢来,先来了解一些基础的知识,由浅入深。如果你不了解这些区别的话,后面的东西我保证你会看懵,你一旦懵了心态就炸了,就不想学了,这就跟你为什么不会数学和英语是一个道理。

就跟你去看病,大夫说了一堆你听不懂的,但是最后告诉你需要打针输液的时候是一个道理。
你不知道为什么病的,下次你还会病。

上一篇下一篇

猜你喜欢

热点阅读