PHP基础学习小结

词法结构
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,第四章 字符串,引用字符串常量

(0)

相关推荐

  • php基础之连接mysql数据库和查询数据

    连接数据库,有三种方法 1. 常规方式: $con=mysql_connect($dbhostip,$username,$userpassword) or die("Unable to connect to the MySQL!"); $db = mysql_select_db($dbdatabasename,$con); //执行语句 $qres=mysql_query("SELECT id,GoodsName FROM user"); //提取一条数据 11 $

  • 新浪微博API开发简介之用户授权(PHP基础篇)

    现在玩微博的人越来越多了,而关于微博的第三方应用开发也越来越多,自己在偶然间开始接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:http://open.weibo.com,它里面有很全面的新浪微博开发的资料,包括开发者的使用和介绍,各种语言的API函数介绍文档,SDK等多种资料. 自己在开发和学习的过程中,感觉虽然没有太大难度,但还是有一些问题是需要我们注意的,今天就我在开发和学习的过程中,简单的对利用PHP进行新浪微博API开发的内容进行一个整

  • php基础知识:类与对象(5) static

    Declaring class members or methods as static makes them accessible without needing an instantiation of the class. A member declared as static can not be accessed with an instantiated class object (though a static method can).  声明静态的类变量和方法可以不需要实例化类对象的

  • php基础教程

    php简介 当前网络技术发展日新月异,各种基于服务端创建动态网站的脚本语言更是层出不穷.其中PHP以其简单.易用.可移植性强等特点,在众多的动态网站语言技术中独树一帜.那么到底什么是PHP,如何使用PHP?本章将来回答这些问题.通过本章的学习,将使读者对PHP有一个大致的了解,并将学会如何把PHP代码加入普通Web页中. 1.1  关于静态网页与动态网页 目前网上的网页有静态网页与动态网页两种形式.在讲这两种网页之前,先了解一下网络构成中的客户机(Client)与服务器(Server).服务器是

  • PHP基础教程(php入门基础教程)一些code代码

    在此教程之前,我就不长篇一律的说什么PHP的常用了. 关于什么是变量呀什么是判断语句呀什么的,请自行查询相关资料此教程值针对于有编程基础,且对PHP陌生的人看.文章比较简单.主要看结构.详细的还请大家自己多多研究 PHP环境安装: PHP通常组合是 :MySql+PHP+Apche 也有 IIS+PHP+MySQL或SqlServer 当然我们可以进行选择组合包来进行安装. 新手建议装AppServ或phpnow等. iis下可以用这个安装运行一下就支持php了,mysql需要安装一下. 也可以

  • php基础教程 php内置函数实例教程

    所以爱微网现在讲解先php内置函数 有大小写转换相关函数 文本html标签处理函数 大小写有关函数 复制代码 代码如下: strtolower() strtoupper() ucfirst() ucword() HTML标签相关的字符串格式化函数 复制代码 代码如下: nl2br() htmllentities() htmlspecialchars() stripslashes() strip_tags() number_format() strrev() md5() 在php中所有字符串处理函

  • PHP基础学习小结

    词法结构 1. 大小写 在PHP中,关键字.函数名以及类名不区分大小写,但变量名是区分大小写的. 2. 分号.空格.换行.大括号 在PHP中,分号表示一个语句的结束. 一般来说,空格和换行在PHP中没有实际意义,但可以提高代码的可读性. 大括号表示一个语句块. 3. 注释 PHP支持多种注释方式.如Shell注释方式(以#开头).C语言注释方式(以/*开头,以*/结尾).C++语言注释方式(以//开头).如: 12345 # Shell注释方式 /* C语言注释方式 */ // C++语言注释方

  • Python基础学习之条件控制语句小结

    一.条件控制语句的补充 在循环里面,我们可以通过关键字来手动终止循环,而不是把整个程序停了来终止. 三种语句:break return continue都可以使循环停止 不过return一般都是用到函数里面的,都是使用break 而continue 不是用来终止循环的,具体作用看下面代码示例 二.break 看汉语也有个大概思想:打破 它的作用是打破循环,使循环碰到它后终止 break的作用是打破结构体,使程序退出当前代码块 下面看这个例子,我们要实现的功能是循环获取用户从键盘输入的数据,直到输

  • 每天一篇javascript学习小结(基础知识)

    1.字符转换 var s1 = "01"; var s2 = "1.1"; var s3 = "z";//字母'z'无法转换为数字,所以或返回NaN var b = false; var f = 1.1; var o = { valueOf: function() { return -1; } }; s1 = -s1; //value becomes numeric -1 s2 = -s2; //value becomes numeric -1.

  • Java基础学习之标签

    一.语法 label: @Test public void test3() { inner: for (int i = 0; i < 5; i++) { if (i == 3) { break inner; } System.out.println(i); } System.out.println("结尾"); } 注意: 标签只能在for循环上面,中间不要插入语句 因此,标签应放在循环语句前,之间不应有其他语句. 二.控制循环 continue会退回最内层的循环开头, 并继续执

  • C# XML基础入门小结(XML文件内容增删改查清)

    目录 前言: 什么是XML? XML的优缺点 XML的优点 XML的缺点 XML简单示例 XML中5个预定义的实体引用 C#把特殊符号转换为转义字符 C#创建简单的XML文件 创建生成的Xml文件 C#在XML文件添加节点 添加节点成功后的XML文件内容 C#修改XML文件节点的数据 修改后的XML文件内容 C#删除XML文件中的指定节点 C#清空指定XML节点数据 学习参考资料 前言: 最近对接了一个第三方的项目,该项目的数据传输格式是XML.由于工作多年只有之前在医疗行业的时候有接触过少量数

  • Go语言基础学习之指针详解

    目录 1. 什么是指针 2. 指针地址 & 指针类型 3. 指针取值 4. 空指针 5. make 6. new 7. make 和 new 的区别 8. 问题 今天来说说 Go 语言基础中的指针. Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务. 1. 什么是指针 Go 语言中,一个指针变量指向了一个值的内存地址.和 C.C++ 中的指针不同,Go 语言中的指针不能进行计算和偏移操作. Go 语言中的函数传参都是值拷贝,当我们想要修改某个变量的时候,我们可以创建一

  • 每天一篇javascript学习小结(Array数组)

    1.数组常用方法 var colors = ["red", "blue", "green"]; //creates an array with three strings alert(colors.toString()); //red,blue,green alert(colors.valueOf()); //red,blue,green alert(colors); //red,blue,green 2.数组map()方法 var number

  • 每天一篇javascript学习小结(Boolean对象)

    创建 Boolean 对象的语法:     new Boolean(value);    //构造函数     Boolean(value);        //转换函数     参数 value 由布尔对象存放的值或者要转换成布尔值的值. 返回值     当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象.     如果作为一个函数(不带有运算符 new)调用时,Boolean() 只将把它的参数转换成

  • 每天一篇javascript学习小结(Date对象)

    1.Date.now() //Date.now() is in ECMAScript 5 //Prior to that, use +new Date() //获取当前时间 var now = (typeof Date.now == "function" ? Date.now() : +new Date()); alert("Right now: " + now); 2.Date.parse()方法 var now = new Date(); alert(now);

  • 每天一篇javascript学习小结(Function对象)

    小编两天都没有更新文章了,小伙伴们是不是等着急了,今天开始再继续我们的<每天一篇javascript学习小结>系列文章,希望大家继续关注. 1.Function  函数调用(类似call方法) function callSomeFunction(someFunction, someArgument){ return someFunction(someArgument); } function add10(num){ return num + 10; } var result1 = callSo

随机推荐