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实现选择排序的解决方法
May 04 PHP
thinkphp实现多语言功能(语言包)
Mar 04 PHP
PHP模板引擎Smarty的缓存使用总结
Apr 24 PHP
几个实用的PHP内置函数使用指南
Nov 27 PHP
PHP7+Nginx的配置与安装教程详解
May 10 PHP
php中的登陆login实例代码
Jun 20 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
Dec 15 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
php递归函数怎么用才有效
Feb 24 PHP
PHP的mysqli_stat()函数讲解
Jan 23 PHP
Laravel框架实现的上传图片到七牛功能详解
Sep 06 PHP
使用Entrust扩展包在laravel 中实现RBAC的功能
Mar 16 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
实现树状结构的两种方法
2006/10/09 PHP
php下将XML转换为数组
2010/01/01 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
Prototype1.6 JS 官方下载地址
2007/11/30 Javascript
基于jQuery的实现简单的分页控件
2010/10/10 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
JavaScript如何实现对数字保留两位小数一位自动补零
2015/12/18 Javascript
jQuery无缝轮播图代码
2016/12/22 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
JavaScript实现的原生态Tab标签页功能【兼容IE6】
2017/09/18 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
vue中activated的用法
2021/01/03 Vue.js
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python 生成不重复的随机数的代码
2011/05/15 Python
详解Python中映射类型的内建函数和工厂函数
2015/08/19 Python
python Django框架实现自定义表单提交
2016/03/25 Python
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
HTML+CSS3+JS 实现的下拉菜单
2020/11/25 HTML / CSS
HTML5实现经典坦克大战坦克乱走还能发出一个子弹
2013/09/02 HTML / CSS
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
奥地利手表、香水、化妆品和珠宝购物网站:Brasty.at
2021/01/17 全球购物
运动会口号8字
2014/06/07 职场文书
我的中国梦演讲稿600字
2014/08/19 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书