PHP基础学习小结


Posted in PHP onApril 17, 2011

词法结构
1. 大小写 在PHP中,关键字、函数名以及类名不区分大小写,但变量名是区分大小写的。
2. 分号、空格、换行、大括号 在PHP中,分号表示一个语句的结束。 一般来说,空格和换行在PHP中没有实际意义,但可以提高代码的可读性。 大括号表示一个语句块。
3. 注释 PHP支持多种注释方式。如Shell注释方式(以#开头)、C语言注释方式(以/*开头,以*/结尾)、C++语言注释方式(以//开头)。如: 12345 # Shell注释方式 /* C语言注释方式 */ // C++语言注释方式 4. 直接量 指直接出现在程序中的数据值,如数据、字符串。
5. 标识符、变量名、函数名、类名、常量 标识符是指给变量名、函数名和类名命名的一个名字。它的首字母为下划线和大小写字母(ASCII码的0x7F~0xFF也可以,不过一般没人用。),首字母以外可以由下划线、大小写字母以及数字0~9组成。
变量名以美元符($)开头,后接标识符。※变量名是区分大小写的 函数名和类名直接以标识符组成。※函数名和类名不区分大小写的 PHP的常量以define以定义。如 1 define('NAME', 'YUTUO');
6. 关键字 主要的关键字有以下一些 $HTTP_COOKIE_VARS $HTTP_ENV_VARS $HTTP_GET_VARS $HTTP_POST_FILES $HTTP_POST_VARS …

PHP学习(2) 数据类型

PHP有8种数据类型。
其中四种基本类型:整形、浮点型、字符串、以及布尔型;
两种复合类型:数组和对象;两种其它类型:资源和NULL。
1. 整形 整形是整数,可以有正负。通常范围是:-2147483648 ~ 2147483647。
写法有三种:十进制、八进制以及十六进制。它可以用函数 is_int($x) 来测试是否是一个整形。
如: 12345678910
$a = 10; //十进制
$a = -10; //十进制
$a = 010; //八进制
$a = -010; //八进制
$a = 0x10; //十六进制
$a = -0x10; //十六进制
if (is_int($a)) echo $a; …

PHP学习(3) 变量

在上一篇里说了变量是以美元符号($)作为前缀的标识符。如:$name。 变量可以存放任何类型的值;在PHP中没有显示的语法来声明变量。第一次使用变量时,变量就被创建了。
1. 变量的变量 变量的变量,即把一个变量名存在另一个变量中,如: 12 $name = 'value'; $$name = '1234'; 执行后,会创建一个$value的变量,它的值为'1234′。 2. 变量引用 在PHP中,变量也和指针差不多。变量引用表示把两个变量指向同一个值,别名的意思差不多吧。 因为是指向同一个地址,所以更改其中一个变量的值,另一个变量也会改变。要注意的是重设一个变量不会对改变另一个变量,这是因为重设变量只是把变量指向NULL,而没有修改另一个变量所指向的值。
函数的参数以及返回值都可以是一个变量引用,这样可以防止复制很大的数据类型(如:字符串、数组、类)。
示例代码:
12345678910111213141516171819 // 更改其中一个变量的值
$value_a = 'Test';
$value_b = & $value_a;
$value_b = 'Change';
print "\$value_a is $value_a";
print "\$value_b is $value_b"; …

PHP学习(4) 表达式和操作符

PHP的表达式是指通过一定的操作符计算出结果的一个语句。 PHP的操作符是基本上都是从C语言和Perl语言借鉴而来的。
1. 隐式类型转换 数字型计算时(加、减、乘、除、求余等),先把字符串转化为数字,如果转化成的数字是浮点数或者表达式中含有浮点数,则其它数字转化为浮点数进行计算,否则用整数进行计算。 字符串计算时(字符串连接),把数字转化为字符串再连接。
2. 递增和递减 递增和递减可以放到变量前或者变量后。放在变量前表示先加(减)1再计算,放在变量后表示先计算再加(减)1
3. 类型转换 类型转操作符有一些同义操作符。比如: (int)和(integer),(float)和(real),(bool)和(boolean) 附:下表列出了PHP的运算符,其中“优先级”从大到小(大的优先级高)表示操作符的优先级;“结合性”表示操作符是左结合还是右结合(“没有”表示没有结合性)。
优先级 结合性 操作符 说明 19 没有 new 创建对象 18 右 [] 数组下标 17 右 !,~ 逻辑取反,逐位取反 右 ++,? 递增,递减 右 (int),(double),(string),(array),(object) 类型转换 右 …

PHP学习(5) 流控制语句

在PHP中,流控制语句主要有条件语句和循环语句组成。其中,流控制语句有if/else和switch语句;循环语句有while和for语句。
1. IF语句 在PHP中,IF语句有两种语法结构。一种用大括号表示语句块,一种用冒号表示语句块。前者一般用于纯代码中,后者一般用于代码和HTML结合时。两种写法如下: 1234567891011121314151617 // 大括号表示语句块 if ($value) { // 操作; } elseif($value) { // 操作; } else { // 操作; } // 冒号表示语句块 if ($value) : // 操作; elseif($value) : // 操作; else : // 操作; endif; …

PHP学习(6) 包含代码和嵌入PHP

包含代码 在PHP中,包含代码有四个函数,include include_once require require_once。
include和require的主要区别是,如果文件不存在require函数会抛出一个致命错误,而include只会抛出一个警告。
include include_once 以及 require require_once,其中后缀为once的表示如果代码已经包含该文件,不再再次引用该文件。 嵌入PHP 在HTML中嵌入PHP有四种方法:XML形式、SGML形式、ASP形式、脚本形式。其中ASP形式默认是不支持的,必须在PHP配置文件[PHP.ini]中,修改asp_tags为On。
四种方法示例代码如下: 123456789101112 // XML形式
<?php
echo 'Hello, world';
?>
// SGML形式
<?
echo 'Hello, world';
?> // ASP形式
<%
echo 'Hello, world';
%>
// 脚本形式
<script language="php"> echo …

PHP学习(7) 函数

本文介绍函数的调用,定义,参数,以及返回值。
1. 函数调用 在PHP中,直接用函数名加参数即可调用函数,基本上有一点基础的人都能明白。如: 1234 $value = test(1); function test($value) { return $value++; }
2. 函数定义 在 PHP学习(1) 词法结构 中说过”标识符是指给变量名、函数名和类名命名的一个名字。它的首字母为下划线和大小写字母(ASCII码的0x7F~0xFF也可以,不过一般没人用。),首字母以外可以由下划线、大小写字母以及数字0~9组成。“函数名由标识符组成。因为PHP不支持函数重载,所以函数名不能有重名。 另外,函数可以嵌套申明,不过用处不是很大。嵌套申明的函数在没有调用外层函数时,是不能调用里层函数的。如下面的代码,如果单独调用inner函数会出现异常。 12345678 echo outter(); echo inner(); function outter() { function inner() { return 2; } return 1; }
3. 变量作用域 …

PHP学习(8) 引用字符串常量

在PHP中,有三种方法来定义一个字符串常量。即单引号、双引号以及来自于Unix Shell的here文档。

在介绍三种定义方法之前,先介绍一个变量转换。在PHP中,双引号以及来自于Unix Shell的here文档定义,都会把字符串的变量转换为变量的值。其中,字体串的变量也可以用大括号{}括起来,以示明显。
要注意的是在单引号字符串里是没有变量转换的。
如下代码:

$name = 'yutuo'; 
// 单引号字符串 
echo 'My name is $name'; 
// 单引号字符串 
echo "My name is $name"; 
echo "My name is {$name}"; 
// here文档字符串 
echo <<< end 
My name is $name 
My name is {$name} 
end;

其结果为(输出没有任何换行,为了容易理解,我在结果里换行了):
My name is $name
My name is yutuo
My name is yutuo
My name is yutuo
My name is yutuo

下面分别对单引号、双引号以及来自于Unix Shell的here文档这三种定义方法进行介绍。

1. 单引号字符串
单引号字符串指用单引号括起来的字符串。它只支持两种转义符,反斜线(\)以及单引号(‘),它们分别以(\\)和(\')来表示。
要注意的是单引号字符串不支持(\n)这种换行方式,但单引号字符串可以跨行定义。如下代码:

echo 'My name is yutuo.
I am studing PHP.';

其结果为(输出结果有换行):
My name is yutuo.
I am studing PHP.

2. 双引号字符串
双引号字符串指用双引号括起来的字符串。它只支持多种转义符,也可以跨行定义。书里说有大括号和中括号,但我在PHP5.3.1下测试是没有的。其支行的转义字符列表如下:

\" 双引号
\n 换行
\r 回车
\t 制表符
\\ 反斜线
\$ 美元符
\000~777 八进制ASCII码
\x00~FF 十六进制ASCII码
3. here文档
here文档可以很容易将多行文字放进程序。除了定义方法不同外,它的转义字符以及跨行定义和双引号字符串是完全一样的。
其定义方法为 <<< 标识符,结尾再以单行标识符结尾。要注意的是<<<和标识符之间有一个空格,结尾标识符前不能有空格。
参考代码可以看看最前面的。

参考资料:
PHP程序设计,2003,第四章 字符串,引用字符串常量

PHP 相关文章推荐
php 清除网页病毒的方法
Dec 05 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
Jul 01 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
Jun 13 PHP
Php-Redis安装测试笔记
Mar 05 PHP
PHP 数组基本操作方法详解
Jun 17 PHP
php版阿里云OSS图片上传类详解
Dec 01 PHP
php实现二叉树中和为某一值的路径方法
Oct 14 PHP
PHP抽象类与接口的区别详解
Mar 21 PHP
深入学习微信网址链接解封的防封原理visit_type
Aug 15 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
Mar 30 PHP
tp5.1框架数据库子查询操作实例分析
May 26 PHP
THINKPHP5分页数据对象处理过程解析
Oct 28 PHP
php 生成文字png图片的代码
Apr 17 #PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
Apr 17 #PHP
php编写一个简单的路由类
Apr 13 #PHP
php 求质素(素数) 的实现代码
Apr 12 #PHP
php 5.3.5安装memcache注意事项小结
Apr 12 #PHP
php处理json时中文问题的解决方法
Apr 12 #PHP
php 面向对象的一个例子
Apr 12 #PHP
You might like
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
php短址转换实现方法
2015/02/25 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
javascript放大镜效果的简单实现
2013/12/09 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
JavaScript中的继承之类继承
2016/05/01 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
2018/09/14 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
微信小程序淘宝首页双排图片布局排版代码(推荐)
2020/10/29 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
python显示生日是星期几的方法
2015/05/27 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
Django后端接收嵌套Json数据及解析详解
2019/07/17 Python
深入浅析Python代码规范性检测
2020/07/31 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
优秀实习生感言
2014/03/01 职场文书
2014年超市工作总结
2014/11/19 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
贷款担保书范本
2015/09/22 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
Python自动化实战之接口请求的实现
2022/05/30 Python