设为首页 收藏本站
查看: 822|回复: 0

[经验分享] web前端初识PHP(一)

[复制链接]

尚未签到

发表于 2015-8-23 17:37:51 | 显示全部楼层 |阅读模式
  做为一名合格的前端开发攻城狮,了解一门服务端语言是必须的,所以我选了php。都说学的第一门语言对第二门语言会产生较大的影响,确实,每当我看到一个php知识点时,就同时会想到这个知识点在Javascript中有没有,有什么不一样?还有一些知识是共通的,这加快了我的php入门速度。为了加深自己的印象,我准备记录一下学习php的过程,这个过程中将会穿插一些php与Javascript的异同点。我选的第一份教程是来自w3school,因为上面的教程比较基础适合入门(当然慕课网的也不错),我的html也是从那里起步的。
  语法
  跟js一样,php也是一门脚本语言,但它运行在服务端,php语句必须以分号结尾,js就不用。相比js,php多了一种注释方式#。php中只有变量对大小写敏感。
  变量


  • 变量以$开头,有人说程序员想钱想疯了,到处都是美元符,$后面是变量名
  • 变量名必须以字母或下划线开头
  • 变量名只能包含数字、字母、下划线
  补充:php中没有变量声明提升的概念,所有在使用变量或函数前必须先声明。
  跟js一样,php也不需要定义变量的类型,php会自动转成正确的数据类型。
  常量
  常量需要用define(a,b,c)来声明,a是常量名,b是常量的值,c用来指定该常量是否对大小写敏感。常量不可重复声明,也就是说声明后无法更改其值。常量不同于变量,常量是自动全局的,不管在函数内还是函数外定义,在函数内外都可以访问,类似于超全局变量。超全局变量:在全部作用域中始终可用的内置变量。注:常量前面没有钱($)。
  作用域


  • local 局部 :函数内部声明的变量,在函数外不可访问(js闭包可以访问函数内部变量),函数执行完后内存回收机制自动销毁局部变量(js不会)。
  • global 全局 :函数外声明的变量,在函数内不可访问(在js中称为全局变量,当然可以在函数内访问),如果要在函数内访问,需要做处理:在函数内变量前加“global”,如global $name;
  • static 静态 :用在函数内声明变量,跟local的区别是static声明的变量在函数执行完后不会自动销毁。
  输出
  echo:可输出多个字符串,无返回值,比print稍快
  print:只能输出一个字符串,返回值总是1
  数据类型


  • 字符串 string
  • 整数 int,就是非小数
  • 浮点数 float,即小数或指数形式的数字
  • 逻辑 boolean,即true和false
  • 数组 array
  • 对象 object
  • NULL null,唯一值即null
  • 资源 resource  通过mysql查询返回的值称为资源
  检测数据类型的函数是var_dump(),数据类型与js有些许不一样,php中数字分为了两种,数组也单独做为一种数据类型了。
  字符串函数
  检测字符串长度的strlen(),长度以字符计,单个数字、英文、空格计一个字符,单个中文计3个字符。js里单个中文计长度1。
  在字符串中检测指定的字符用strpos()函数,相当于js的.indexOf()方法,找到就返回对应的位置,没找到时strpos()返回false而indexOf返回-1。
  运算符
  比较多,就只说与js不同的吧。
  .运算符在php中叫串接,相当于js中字符串+字符串中的+号的功能,.=也就相当于js字符串拼接时的+=;
  比较运算符中有两个不等于:!=和<>,不知道它们的区别在哪里?度娘和google也未搜到相关答案,有知道的同学还望告知不胜感激!另外还有一个完全不等于!==,值不相等,类型也不同。
  逻辑运算符中有一个异或xor,运算符两边的值有且只有一个为true结果才为true。
  if else/switch/while/for循环大致和js相同。
  函数
  php中的函数设置默认值直接在函数名后面的括号内设置,如设置$num的默认值为2:



function getNum($num=2){
return $num;
}
echo getNum(); // 2
  
  数组
  php中的关联数组类似js中的json,如下面是一个关联数组:



$arr = array("name"=>"wangmeijian","age"=>1024,"sex"=>"boy");
  
  不同与js的是,php中不能直接echo出数组内容,js中可以用alert或console.info打印出来。
  数组排序,php就比js丰富了,有正序sort(),倒序rsort(),按键正序ksort(),按键倒序krsort(),按值正序asort(),按值倒序arsotr()。
  最后介绍几个超全局变量:
  $GLOBALS:可以通过$GLOBALS[变量名]读取php脚本中任意全局变量,其实就相当于js的window。
  $_SERVER:保存关于报头、路径和脚本位置的信息。
  $_REQUEST:用来收集表单提交的数据,根据表单name值来读取对应表单值,如$_REQUEST['age']读取年龄。
  $_POST:用来收集通过post方式提交的数据,通过name读取对应值。
  $_GET:用来收集通过get方式提交的数据,也可以收集url中发送的数据。
  
  以上,都是入门级别的知识,加上了个人理解,请各位大中小牛勿喷。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-103148-1-1.html 上篇帖子: PHP面向对象——访问修饰符 下篇帖子: 个人PHP项目与Ucenter整合(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表