《PHP编程:php学习笔记之基础知识》要点:
本文介绍了PHP编程:php学习笔记之基础知识,希望对您有用。如果有疑问,可以联系我们。
php学习至今一年有余,笔记积累挺多的,也挺杂的,写篇文章整理一下吧.PHP实例
php基础部分 PHP实例
PHP实例
PHP
输出文本的基础指令:echo
和 print
.PHP实例
echo和print的区别 PHP实例
echo
是PHP语句, print
和print_r
是函数,语句没有返回值,函数可以有返回值(即便没有用)PHP实例
echo
输出一个或者多个字符串.print
只能打印出简单类型变量的值(如int,string)print_r
可以打印出复杂类型变量的值(如数组,对象)PHP实例
var_dump和print_r的区别PHP实例
var_dump
返回表达式的类型和值,而print_r
仅返回结果,相比调试代码使用var_dump
更便于阅读.PHP实例
变量 PHP实例
变量用于存储值,比如数字、文本字符串或数组.PHP 中的所有变量都是以 $ 符号开始的.
PHP 变量名称对大小写敏感!PHP实例
PHP 有三种不同的变量作用域:PHP实例
local(局部)
global(全局)
static(静态)
函数之外声明的变量拥有 Global
作用域,只能在函数以外进行拜访.PHP实例
函数内部声明的变量拥有 LOCAL
作用域,只能在函数内部进行拜访.PHP实例
global
关键词用于拜访函数内的全局变量.PHP实例
PHP static 关键词 PHP实例
通常,当函数完成/执行后,会删除所有变量.不过,有时我需要不删除某个局部变量.实现这一点需要更进一步的工作.PHP实例
要完成这一点,请在您首次声明变量时使用 static 关键词:PHP实例
<?php
function myTest() {
static $x=-1;
echo $x;
$x--;
}
myTest();//-1
echo "<br>";
myTest();//-2
echo "<br>";
myTest();//-3
?>
php类型PHP实例
php类型:**PHP 支持八种原始类型.**
PHP实例
布尔型 PHP实例
要指定一个布尔值,使用关键字 TRUE 或 FALSE.两个都是大小写不敏感的.PHP实例
整型 PHP实例
我们可以使用(int)来将小数强制类型转换成整数.PHP实例
<?php
var_dump((int)(26/3));//int(8)
?>
数组PHP实例
php中有三种数组:PHP实例
索引数组:就是下标是顺序整数作为作为索引(比如第几排第几列)$class[5]
关联数组:就是下标是字符串作为索引(比如名字)$class2["zhangsan"]
多维数组 - 包含一个或多个数组的数组
下标要嘛是整数,要么是字符串.PHP实例
<?php
$array = array(
"foo" => "bar",
"bar" => "foo",
);
// 自 PHP 5.4 起
$array = [
"foo" => "bar",
"bar" => "foo",
];
?>
数组单元可以通过 array[key]
语法来拜访.
Note: 这并不意味着总是给键名加上引号.用不着给键名为常量或变量的加上引号,否则会使 PHP
不能解析它们.PHP实例
数组运算符 PHP实例
例子 名称 结果$a + $b 联合 $a 和 $b 的联合$a == $b 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE$a === $b 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE$a != $b 不等 如果 $a 不等于 $b 则为 TRUE$a <> $b 不等 如果 $a 不等于 $b 则为 TRUE$a !== $b 不全等 如果 $a 不全等于 $b 则为 TRUE+
运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略.PHP实例
对象 PHP实例
要初始化一个对象,用 new 语句将对象实例到一个变量中.PHP实例
常用函数 PHP实例
strlen() 函数用于计算字符串的长度.
strpos() 函数用于在字符串内检索一段字符串或一个字符.PHP实例
常量 PHP实例
可以用 define() 函数来定义常量.一个常量一旦被定义,就不能再改变或者取消定义.
常用的魔术常量:PHP实例
PHP实例
定义常量例子:PHP实例
<?php
define("poems" , "Homeric epic");
echo poems ;//outputs "Homeric epic"
?>
php字符串运算符PHP实例
在 PHP 中,只有一个字符串运算符.
并置运算符 (.)
用于把两个字符串值连接起来.如:echo "a= ".$a."<br>";
左边将字符串文字"a="与变量$a的值连接,第二处是与换行符"<br>"
连接PHP实例
php函数 PHP实例
函数只有在被调用时才会被执行,这点和js是一样的,同样,函数定义也是以function关键字开头的.PHP实例
<?php
function sum($x,$y){
$z=$x + $y;
return $z;
}
echo "-2+10= ".sum(-2,10);//outputs "-2+10=8"
?>
当没有return
语句时,以上将会变成"-2+10=";PHP实例
流程控制 PHP实例
在这里,只讲下foreach
语句.PHP实例
foreach
语句遍历输出数组:
语法:PHP实例
foreach (array_expression as $value){ statement};
foreach (array_expression as $key => $value){ statement};
参数array_expression
是指定要遍历的数组,$value
是数组的值PHP实例
<?php
$actors [0] ="Marry";
$actors [1] ="Lorry";
$actors [2] = "mike";
foreach ($actors as $values){
echo "Name:$values<br>";
}
?>
以上代码将输出:
Name:Marry
Name:Lorry
Name:mikePHP实例
两个重要的魔术办法PHP实例
1. __set( )办法:这个办法用来为私有成员属性设置值的,有两个参数,第一个参数为你 要为设置值的属性名,第二个参数是要给属性设置的值,没有返回值.
2. __get()办法:这个办法用来获取私有成员属性值的,有一个参数,参数传入你要获取的成员属性的名称,返回获取的属性值,这个办法不用我们手工的去调用
php中办法不区分大小写PHP实例
require(dirname(__FILE__).'/global.php'); //引入全局文件
require(dirname(__FILE__).'/config.ini.php'); //引入基本配置文件
对象运算符和双冒号运算符PHP实例
在类的成员方法里面,可以用 ->(对象运算符):$this->property
(其中 property 是该属性名)这种方式来拜访非静态属性.
静态属性则是用 ::
(双冒号):self::$property
来拜访.PHP实例
=>和->PHP实例
=>
数组成员拜访符号,->
对象成员拜访符号;$this
->$name=$value
:将当前类的name
变量的值设为$value
;$this
代表了类本身,->
是拜访其类成员的操作符
双冒号运算符(::
)类名::
静态属性/方法
“::
”用来调用类中静态的属性和方法PHP实例
include()
:包含外部文件,语法格式为 include(string filename);require()
:会输出错误信息,终止脚本include_once()
:多次调用相同文件时,程序只会调用一次require_once()
:先检查文件是否在其他地方被调用过array_pop()
:获取并返回数组中的最后一个元素count()
:统计数组中的元素个数array_search()
:获取数组中元素的键名$array_keys()
:获取数组中重复元素的所有键名PHP实例
单引号和双引号 PHP实例
PHP把单引号中的数据视为普通字符串,不再处理.而双引号还要对其中的字符串进行处理PHP实例
get和post PHP实例
$_GET[ ]和$_POST[ ]全局数组:分别用来接收GET和POST办法传递到当前页面的数据.“[ ]”里面是name.PHP实例
php参数传递常用的办法有3种:$_POST[ ]、$_GET[ ]、$_SESSION[ ],分别用于获取表单、URL与Session变量的值.PHP实例
表单提交中get和post方式的区别归纳如下几点:PHP实例
GET是从服务器上获取数据,POST是向服务器传送数据.
GET 是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.POST是通过HTTP POST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址.用户看不到这个过程.
对于GET方式,服务器端用Request.QueryString获取变量的值,对于POST方式,服务器端用Request.Form获取提交的数据.
GET传送的数据量较小,不能大于2KB(这主要是因为受URL长度限制).POST传送的数据量较大,一般被默认为不受限制.但理论上,限制取决于服务器的处理能力.
GET 安全性较低,POST安全性较高.因为GET在传输过程,数据被放在哀求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将哀求URL记 录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到.另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一 同显示在用户面前.POST的所有操作对用户来说都是不可见的.
在FORM提交的时候,如果不指定Method,则默认为 GET哀求(.net默认是POST),Form中提交的数据将会附加在url之后,以?分开与url分开.字母数字字符原样发送,但空格转换为“+” 号,其它符号转换为%XX,其中XX为该符号以16进制表示的ASCII(或ISO Latin-1)值.GET哀求请提交的数据放置在HTTP哀求协议头中,而POST提交的数据则放在实体数据中;GET方式提交的数据最多只能有2048字节,而POST则没有此限制.POST传递的参数在doc里,也就http协议所传递的文本,接受时再解析参数部分.获得参数.一般用POST比较好.POST提交数据是隐式的,GET是通过在url里面传递的,用来传递一些不需要保密的数据,GET是通过在URL里传递参数,POST不是.PHP实例
1.GET哀求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连PHP实例
2.GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据,IIS4中最大为80KB,IIS5中为100KBPHP实例
HTTP状态码 PHP实例
PHP实例
cookie和session区别 PHP实例
cookie的内容主要包括:名字,值,过期时间,路径和域.路径与域一起构成cookie的作用范围.若不设置过期时间,则表示这
个cookie的生命期为浏览器会话期间,关闭浏览器窗口,cookie就消失.这种生命期为浏览器会话期的cookie被称为会话cookie.
会话cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的.若设置了过期时间,浏览器就会把cookie
保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间.PHP实例
当程序需要为某个客户端的哀求创建一个session时,服务器首先检查这个客户端的哀求里是否已包含了一个session标识
(称为session id),如果已包含则说明以前已经为此客户端创建过session,服务器就按照session id把这个session检索出来
使用(检索不到,会新建一个),如果客户端哀求不包含session id,则为此客户端创建一个session并且生成一个与此session相
关联的session id,session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应
中返回给客户端保存.保存这个session id的方式可以采用cookie,这样在交互过程中浏览器可以自动的按照规则把这个标识发送给
服务器.
1、cookie数据存放在客户的浏览器上,session数据放在服务器上.
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session.
3、session会在一定时间内保存在服务器上.当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE.
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie.
5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中PHP实例
php代码规范 PHP实例
1.变量赋值必须保持相等间距和排列PHP实例
2.每行结尾不允许有多余的空格PHP实例
3.确保文件的命名和调用大小写一致,是由于类Unix系统上面,对大小写是敏感的PHP实例
4.办法名只允许由字母组成,下划线是不允许的,首字母要小写,其后每个单词首字母要大写PHP实例
5.属性的命名只允许由字母组成,下划线是不允许的⋯⋯PHP实例
6.对于对象成员的拜访,我们必须始终使用“get"和"set"方法PHP实例
7.当类成员办法被声明为private时,必须以双下划线"__"开头;被声明为protected时,必须以单下划线"_"开头;声明为public的成员属性则在任何时候都不允许含有下划线.PHP实例
8.如果我们需要把一些经常使用的办法定义为全局函数,那么应该把它们以静态(static)的形式定义在类中PHP实例
9.函数的命名使用小写和下划线,应该能够描述清楚该函数的功能.PHP实例
10.Boolean值和null值都采用小写.PHP实例
11.当一个字符串是纯文本组成的时候(即不含有变量),则必须总是以单引号(')作为定界符PHP实例
12.使用array类型声明关联数组的时候,应将它分成多行,保证每行的键与值的对齐PHP实例
13.类中所有代码都必须用四个空格进行缩进PHP实例
14.不允许用var来声明变量,类成员变量必须以private,protected和public来声明.通常用get和set方法来拜访类成员.PHP实例
15.办法必须总是用private,protected或者public来声明其作用域PHP实例
16.在函数或办法名与参数括号之间不允许出现多余的空格PHP实例
维易PHP培训学院每天发布《PHP编程:php学习笔记之基础知识》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。