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 相关文章推荐
一个ftp类(ini.php)
Oct 09 PHP
phpMyAdmin下载、安装和使用入门教程
May 31 PHP
浅析php中常量,变量的作用域和生存周期
Aug 10 PHP
PHP中使用localhost连接Mysql不成功的解决方法
Aug 20 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 PHP
实例讲解yii2.0在php命令行中运行的步骤
Dec 01 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
php redis实现文章发布系统(用户投票系统)
Mar 04 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
PHP FileSystem 文件系统常用api整理总结
Jul 12 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中的session永不过期的解决思路及实现方法分享
2011/04/20 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
一些相见恨晚的 JavaScript 技巧
2010/04/25 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
谈谈对offsetleft兼容性的理解
2015/11/11 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
基于ajax与msmq技术的消息推送功能实现代码
2016/12/26 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
通过构造函数实例化对象的方法
2017/06/28 Javascript
Node.js上传文件功能之服务端如何获取文件上传进度
2018/02/05 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
微信小程序之判断页面滚动方向的示例代码
2018/08/30 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
windows 10下安装搭建django1.10.3和Apache2.4的方法
2017/04/05 Python
Python使用pickle模块储存对象操作示例
2018/08/15 Python
python 判断矩阵中每行非零个数的方法
2019/01/26 Python
小学门卫岗位职责
2013/12/17 职场文书
《第一次抱母亲》教学反思
2014/04/16 职场文书
班子四风对照检查材料
2014/08/21 职场文书
酒店辞职书怎么写
2015/02/26 职场文书
民间借贷借条如何写
2015/05/26 职场文书
2016年记者节感言
2015/12/08 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
Nginx使用Lua模块实现WAF的原理解析
2021/09/04 Servers
十大好看的穿越动漫排名:《瑞克和莫蒂》第一,国漫《有药》在榜
2022/03/18 日漫
利用uni-app生成微信小程序的踩坑记录
2022/04/05 Javascript