文档章节

零基础学PHP需注意的细节问题(Continuous updating)

o
 osc_a22drz29
发布于 2019/03/28 20:57
字数 1759
阅读 5
收藏 0

精选30+云产品,助力企业轻松上云!>>>

话不多说,此篇博客,将持续记录易疏忽掉的注意事项,包括期间遇到的一些知识点性的问题。

Continuous updating  Continuous updating  Continuous updating

--------------------------------------------------------------------------------------------------

1:

用自己电脑当作服务器时,可以使用phpStudy或者wampserver软件,省去自己搭配环境的时间,这两款软件安装即可使用,以wampserver为例。wampserver安装完成之后,php文件可放在wamp/www/目录下的文件这里,www目录亦被称为Apache的主目录

 

2:

字符串是连续的字符序列,由数字,字母,字符组成。字符串中的每个字符只占用一个字节。有3种定义字符串的方式,分别是单引号,双引号,和定界符(<<<)

,在定义简单的字符串时,使用单引号是更加的合理的,因为不用搜索变量了,省时间,直接原样输出

 

3:

结束标识符必须单独的另起一行,并且不允许有空格,在标识符前后有其他符号或者字符,也会发生错误。

<?php
?>    //单独成一行

  

4:

如果给定的数值超出了int类型所能表示的最大范围,将会被当作float型处理,这种情况下称为整数溢出,最后返回的类型也是float型

 

5:

浮点型的数值只是一个近似的值,所以要尽量避免浮点型数值之间进行比较大小,因为最后的结果往往是不准确的。

如:0.1+0.2==0.3,结果易出错,正常为0.300000000004,所以在进行比较时尽量不要涉及浮点型

 

6:

声明数组后,数组中的元素个数还可以自由的更改。只要给数组赋值,数组就会自动增加长度。

 

7:

资源(resource):在使用资源时,系统会自动启用垃圾回收机制,释放不再使用的资源,避免内存消耗殆尽。因此,资源很少需要手工释放。

 

8:

预定义常量中,__FILE__     , 总共是四条'_',不是两条‘_’

 

9:

静态变量的初始化只有在第一次的时候会进行执行,所以static 常用于浏览人数记载。

 

10:

Php中的    ‘/’(除法)        是会精确到小数的,而不是只是取整数就结束了,例如10/3 == 3.333333

 

11:

位运算符与逻辑运算符是不同的,别弄混了

举个例子来解释一下吧,

false&true-->false

false&&true-->false

单从结果上看,他们结果是一样的,都是false

但是前者在运行的时候,计算机首先判断第一个条件为false,然后判断第二个条件true,然后判断出结果为false

而后者,首先也是判断第一个条件,当判断出为false时,程序立即终止,因为不管第二个条件是什么,结果一定为false

 

12:

按引用传递就是将实参的内存地址传递到形参中。这时,在函数内部的所有操作都会影响到实参的值,返回后,实参的值将会发生改变。

引用传递的方式就是传值时在原基础上加上&即可。

 

13:

当使用默认参数时,默认参数必须放在非默认参数的右侧,否则函数可能会出错

 

14:

从函数中返回值的时候,注意,return语句只能返回一个参数,也即只能返回一个值,不能一次性返回多个值,如果要返回多个结果,就要在函数中定义一个数组,将返回值存储在数组中返回。

 

15:

一定要遵守php的命名规范,主要注意的几个:

 

  1. 当代码段较大的时候,上下应当加入空白行,两个代码块之间只使用一个空行,禁止使用多行
  2. If ()   while ()     if,whie与括号之间留一个空格
  3. 小括号和函数之间要紧贴在一起
  4. 引用变量要带有r前缀,比如&$rExam
  5. 常量/全局常量应该全部使用大写字母
  6. 全局变量,静态变量前缀都要带上s
  7. 函数命名都要小写,多个单词_分隔

 

16:

aciton="#"                 代表提交数据到本页

 

17:

post与get的区别:

表示表单中的数据以"post"方法传递。

Form提供了两种数据传输的方式——get和post。

二者主要区别如下:

1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。

2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。

3、Get是不安全的,因为在传输过程,日志会被第三方看到。用户也可以在浏览器上直接看到提交的数据。Post的所有操作对用户来说都是不可见的。

4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。

5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。

6、Get是Form的默认方法。

使用Post传输的数据,可以通过设置编码的方式正确转化中文;而Get传输的数据却没有变化。(CSDN)

 

18:

字符串可以用单引号,双引号,定界符3种方法来进行定义。

而指定一个简单字符串的最简单的方法就是用单引号括起来,当使用字符串时,很可能在该串中存在着与php的脚步混淆的字符,因此必须要做转义语句,这就要在它的前面使用转义符号”\”。

“\”是一个转义符,紧跟在它后面的第一个字符将变得没有意义或有着特殊的意义。如果要在字符串中表示单引号,就要用到转义字符

 

19:

在所有数据在插入数据库之前,最好都有必要的应用addslasshes()函数进行字符串的转义,以免特殊字符未经转义在插入数据库时出现错误。

转义后的可以用stripcslashes()在转义回来

 

20:

汉字占两个字符,数字,英文,小数点,下划线和空格粘占一个字符

 

一周内,每天都会持续更新不同的注意事项笔记,最后会将所写的知识点进行归类整理。

如果你有认为重要的注意事项或遇到的难题,方便的评论到下方,最后归结整理,共同进步,共同学习。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
零基础学python-17.3 特定的参数匹配模型快速入门

这一章节我们来讨论一下特定的参数匹配模型快速入门的基础知识 在讨论语法细节前我需强调一下,一般来说我们都不需要用到这种匹配模型,这里只是简单的介绍一下 1.位置:从左到右进行匹配 >>...

raylee2015
2015/10/21
3
0
零基础学python-17.3 特定的参数匹配模型快速入门

这一章节我们来讨论一下特定的参数匹配模型快速入门的基础知识 在讨论语法细节前我需强调一下,一般来说我们都不需要用到这种匹配模型,这里只是简单的介绍一下 1.位置:从左到右进行匹配 >>...

raylee2015
2015/09/17
3
0
数据分析有哪些好书值得推荐?

1、统计学书单 如果你打开招聘的职位要求,都会要求具有统计学的知识,这是因为统计学是数据分析、机器学习的基础知识,是必须要学习的。 推荐理由:很多人感到统计学无聊,是因为从一开始就...

游客f636zntx5c77y
2019/08/05
0
0
数据分析有哪些好书值得推荐?

1、统计学书单 如果你打开招聘的职位要求,都会要求具有统计学的知识,这是因为统计学是数据分析、机器学习的基础知识,是必须要学习的。 推荐理由:很多人感到统计学无聊,是因为从一开始就...

猴子聊人物
2019/04/02
0
0
python初学常见问题汇总 - 知乎

我们编程教室专栏就像一本厚厚的 Python 教材,涵盖了从零基础入门到 Web 开发、数据分析、图像处理、游戏开发、微信小程序等多个进阶方向的内容。六年多来的撰文和答疑,基本涵盖了一个初学...

Crossin的编程教室
2019/11/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

asp.net core之NLog

NuGet添加 NLog.Web.AspNetCore。 <PackageReference Include="Microsoft.AspNetCore.App" /> 添加配置文件 新建一个文件nlog.config(建议全部小写,linux系统中要注意), 并右键点击其属性......

一介草民Coder
26分钟前
23
0
.NET中的struct和class有什么区别? - What's the difference between struct and class in .NET?

问题: .NET中的struct和class有什么区别? 解决方案: 参考一: https://stackoom.com/question/3OT/NET中的struct和class有什么区别 参考二: https://oldbug.net/q/3OT/What-s-the-differ...

富含淀粉
今天
23
0
android:layout_weight是什么意思? - What does android:layout_weight mean?

问题: I don't understand how to use this attribute. 我不明白如何使用这个属性。 Can anyone tell me more about it? 谁能告诉我更多关于它的事情? 解决方案: 参考一: https://stacko...

javail
今天
17
0
CSS背景不透明度[重复] - CSS Background Opacity [duplicate]

问题: This question already has an answer here: 这个问题已经在这里有了答案: How do I give text or an image a transparent background using CSS? 如何使用CSS为文本或图像提供透明背...

fyin1314
今天
31
0
node http 获取gb2312网页如何转为utf8

最初,我想当然认为是下述做法,但被证明是错误的 const http = require('http'), iconv = require('iconv-lite');const url = 'http://xxx';http.get(url, function(res) { var bo......

高延
今天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部