Ⅰ php学习笔记(一):基本语法之标记、空白、和注释
一、PHP
标记
1、XML风格
复制代码
代码如下:
<?php
echo
"hello
world";?>
2、简短风格
复制代码
代码如下:
<?
echo
"hello
world";
?>
3、script
风格
复制代码
代码如下:
<script
language="php">echo
"hello
world";</script>
二、PHP
注释
1、单行注释:
//
(C++风格)
2、多行注释:/*
*/
(C风格)
3、单行脚本注释:#
(shell风格)
Tips:注释一般写在代码上面
三、PHP
空白
1、空白间隔符
换行(回车)、空格、Tab(制表符)
2、约定习俗
代码片段(2行)、类(2行)、函数(1行)、函数变量与第一条语句(1行)、注释前(1行)
Ⅱ PHP 正则表达式总结
PHP 正则表达式总结
1.PHP中两个常用的正则函数
a.preg_match 正则函数,以perl语言为基础
语法:preg_match( mode,string subject,array matches)
说明:mode参数---- 正则的模块,也就是正则表达式(语法)
subject参数---- 正则的内容
matches参数---- 正则的结果(获得一个数组的形式)
b.ereg 正则函数,以POSIX基础(Unix、Script)
语法:ereg(mode ,string subject, array regs)
2.正则表达式中包括的元素
a.原子(普通字符:a-z A-Z 0-9 、原子表、转义字符)
b.元字符(有特殊功能的字符,如:# 、*)
c.模式修正符(系统内置部分字符 i、m、S、U ...)
3.正则表达式中的“原子”
a.a-z A-Z _ 0-9 //最常见的字符
b.(abc)(skd) //用圆括号包含起来的单元符号(一个整体)
c.[abcs][^abd] //用方括号包含的原子表,原子表中的^代表排除或相反的内容
d.转义字符
d 包含所有的数字[0-9]
D 除所有数字外[^0-9]
w 包含所有英文字符[a-z A-Z 0-9]
W 除所有英文字符外[^a-z A-Z 0-9]
s 回车,换行等
......
注明: 圆括号 必须是整体才能匹配; 方括号 只要是其子集,都可以匹配(内容存在)
4.正则表达式元字符
* 匹配前一个内容的0次1次或多次
. 匹配内容的0次1次或多次,但不包含回车换行(代指自己,任何内容)
+ 匹配前一个内容的1次或多次
? 匹配前一个内容的.0次或1次
| 选择匹配类似PHP中的| (因为这个运算符合是弱类型导致前面最为整体匹配,类似一个单词匹配)
^ 匹配字符串首部内容
$ 匹配字符串尾部内容
b 匹配单词边界,边界可以是空格或者特殊符合(有单词分界符,类似空格)
B 匹配除带单词边界意外内容(无单词分界符)
{m} 匹配前一个内容的重复次数为M次
{m,} 匹配前一个内容的重复次数大于等于M次
{m,n} 匹配前一个内容的重复次数M次到N次
( ) 合并整体匹配,并放入内存,可使用1 2…依次获取 (调用放入内存中的内容)
5.运算顺序
依然遵循从左到→右的运算规则
优先级:
( ) 圆括号因为是内存处理所以最高
* ? + { } 重复匹配内容其次
^ $ b 边界处理第三
| 条件处理第四
最后按照运算顺序计算匹配
6.模式修正符
模式修正符是为正则表达式增强和补充的一个功能,使用在正则之外 例如:/ 正则 / U
常用修正符:
i 正则内容在匹配时候不区分大小写(默认是区分的)
m 在匹配首内容或者尾内容时候采用多行识别匹配
s 将转义回车取消是为单行匹配如. 匹配的时候
x 忽略正则中的空白
A 强制从头开始匹配
D 强制$匹配尾部无任何内容 n
U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束, 常用在采集程序上的正则表达式
7.匹配功能
preg_match_all 全部匹配函数
语法:preg_match_all ( string pattern, string subject, array matches [, int flags] )
说明:对结果排序使 $matches[0] 为全部模式匹配的数
用途:截取比较详细的内容,采集网页,分析文本
8.替换功能
preg_replace 正则替换函数
语法:preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
说明:通过正则表达式来替换相关内容,类似之前学过的str_replace字符串替换,但 功能要强于它
提示:1、替换内容可以是一个正则也可以是数组正则
2、替换内容可以通过修正符e来解决替换执行内容
用途:替换一些比较复杂的内容上,也可以用于内容的转换上
9.分割功能
preg_split 正则切割
语法:preg_split ( string pattern, string subject [, int limit [, int flags]] )
说明:通过正则表达式来切割相关内容,类似之前学过的explode切割函数,但explode 只能按照一种方式切割有局限性。
;Ⅲ 在PHP中有哪些语法是初学者要掌握的天津PHP培训
1、 PHP在WEB开发中的应用
·收集表单数据
·生成动态网页
·字符串的处理
·动态输出图像
·处理服务器端文件系统
·编写数据库支持的网页
·回话跟踪控制
·处理XML文件
·支持利用大量的网络协议
·服务器端其他相关操作
2、 关于PHP脚本运行
·编写的php脚本语言需要上传至WEB服务器的文档根目录下,通过浏览器访问WEB服务器管理下的php文件就可以运行PHP文件。但是,不能直接使用浏览器打开php文件,这样没有web服务器区解析代码,显示的也是源代码。
·在php文件中可以编写html、css、javascript等语言,但需要使用起始符标记<?php和结束标记?>
3、 PHP语言标记
·<?php?>
·语句分为功能执行语句与结构定义语句
·功能执行语句后面一定要加分号,结构定义语句一定不要带分号
·与?>这个标记最近的功能执行语句可以不加分号;建议功能执行语句都加分号
·如果?>是脚本语言的结束,那么?>这个可以不加,建议不要加!很多函数(头函数)的前面都不允许出现任何的空白,所以在使用require标记时,被包含的php文件结束后一定不要有空白,或者该php文件不加?>结束标记即可。
4、 PHP注释方法
·单行注释
//
·多行注释
/* */ 多行注释中不能包含单行注释了
·脚本注释
#
·文档注释
/** */
·注释的功能:
(1) 写过不合适的代码需要注释不能立即删除
(2) 注释可以用来写帮助文档,增强程序代码的可读性
(3) 注释代码可以用来调试程序
(4) 注释要写在代码的上面或右边
5、 在PHP程序中使用空白符
·空白:空格 tab 换行
·空白符可以增强代码的可读性
6、 变量
变量在任何编程语言中都居于核心地位,理解他们就是使用PHP的关键所在。
·变量时用于临时存储值的容器。
·变量是指在程序运行过程中随时可以发生变化的量,是程序中数据的临时存放场所。
·变量可以保存程序运行时用户输入的数据,特定运算的结果以及要输出到网页上显示的一段数据等。
总之,变量是用于跟踪几乎所有类型信息的简单工具。
7、 申明变量
·当一个数据需要用到多次时,就可以申明变量。
·申明方式:$变量名=值
·变量的类型是由存储的值来决定的,申明前不指定类型
·可以连续申明多个变量,例如:$a=$b=$c=$d=”value”.
·isset(); 判断变量是否存在的函数
·unset(); 删除(释放)一个变量的函数。
8、 变量命名
·变量前一定要使用“$”,申明和使用都要有这个符号
·变量名不能以数字开头
·不能使用php的运算符号,例如:+-*/%&|等
·php可以使用系统关键字作为变量名,这其他语言不同的地方
·php变量区分大小写的,只有变量与常量区分大小写,其他的不区分(php功能标签,例如:echo可以写成ECHO或ecHo等)
·变量名在项目程序中要有意义
·命名习惯:用英文单词命名时,第一个英文小写,以后的单词第一个字母大写,其他的小写,例如:aaaBbbCcc。
9、 可变变量(用到比较少)
·一个变量的变量名可以动态地设置和使用
<?php
$one=”###”;
$two=”one”;
$three=”two”;
$four=”three”;
Echo $four.”
”;
Echo $$four.”
”;
Echo $$$four.”
”;
Echo
four.”
”;
?>
输出结果为:
three
two
one
###
10、 变量的引用赋值
·使用一个&加到要赋值的变量前面(原变量),例如:$a=&$b;
11、 变量的类型
·PHP中有8种变量类型:四种标量+二种复合类型(可以放多个值的变量)+二种特殊类型
·4种标量:整型、布尔型、浮点型、字符串
·2种复合类型:数组+对象
·2种特殊类型:资源类型+null
·var_mp(); 该函数既可以看到变量类型与值
Ⅳ Php学习从入门到精通需要学习哪些内容呢
PHP,即“PHP:HypertextPreprocessor”,是一种山消被广泛应用的开源通用脚本语言,尤其适用于Web开发并可嵌入HTML中去。它的语法利用了C、和Perl,易于学习。那么北京电脑培训介绍Php学习从入门到精通需要学习哪些内容呢?
从学习Php内容上大致可以分为五个阶段:
第一阶段:扫盲。了解什么是B/S模式,原理上知道从浏览器输入一个url是如何获取到信息的流程。熟悉html,能快速地用div+css写出静态页面,熟悉js,掌握jquery。
第二阶段:PHP基础语法。掌握基本的语法,弄明白什么是变量、常量、数据类型、熟悉逗乎知常用的函数。PHP的函数库特别丰富,不可能全部都记住,但至少要将手册上的常用函数都练习过几遍,以后需要用到时才有印象。
第三阶段:数据库,WEB服务器的学习。PHP的最佳搭档是:Mysql(数据库),Apache(web服务器),对于Apache,平时操作得比较少,懂得其顷启配置即可。而Mysql则特别重要。初期懂得如何用PHP操作Mysql进行增删改查,了解常用的Mysql优化原则,能使用PHP+Mysql写出简单的留言板页面。
第四阶段:PHP深化。掌握Ajax异步传输,学习面向对象,学习MVC框架并掌握流行的PHP框架,如Yii框架,国内的ThinkPHP框架,形成良好的编码习惯。能快速用框架开发网站。
第五阶段:大型网站的优化技术:如页面静态化,Memcached缓存技术,MySql数据库深度优化等。
以上五个阶段仅是PHP初级到中级的水平,距离高级水平(充当WEB架构师)还有较远的路要走。所以你就要选择一家专业的Php培训机构,可逆帮你事半功倍!
Ⅳ php类的语法说明
类是变量与作用于这些变量的函数的集合。使用下面的语法定义一个类:
<?php
class Cart { var $items; // 购物车中的物品
// 将 $num 个 $artnr 物品加入购物车
function add_item($artnr, $num) {
$this->items[$artnr] += $num;
} // 将 $num 个 $artnr 物品从购物车中取出
function remove_item($artnr, $num) {
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num; return true;
} elseif
($this->items[$artnr] == $num) {
unset($this->items[$artnr]); return true;
} else {
return false; }
}
} ?>
上面的例子定义了一个 Cart 类,这个类由购物车中的商品构成的数组和两个用于从购物车中添加和删除商品的函数组成。
<?php
class test {
?>
<?php
function test() {
print 'OK'; }
}?>
但是以下用法是可以的:
<?phpclass test { function test() { ?> <?php print 'OK'; }}?>
在 php 4 中,var 变量的值只能初始化为常量。用非常量值初始化变量,需要一个初始化函数,该函数在对象被创建时自动被调用。这样一个函数被称之为构造函数(见下面)。
<?php/* php 4 中不能这样用 */class Cart { var $todays_date = date(Y-m-d); var $name = $firstname; var $owner = 'Fred ' . 'Jones'; /* 不过包含有常量的数组可以 */ var $items = array(VCR, TV);}/* 应该这样进行 */class Cart { var $todays_date; var $name; var $owner; var $items = array(VCR, TV); function Cart() { $this->todays_date = date(Y-m-d); $this->name = $GLOBALS['firstname']; /* etc. . . */ }}?>
类也是一种类型,就是说,它们是实际变量的蓝图。必须用 new 运算符来创建相应类型的变量。
<?php$cart = new Cart;$cart->add_item(10, 1);$another_cart = new Cart;$another_cart->add_item(0815, 3);?>
上述代码创建了两个 Cart 类的对象 $cart 和 $another_cart,对象 $cart 的方法 add_item() 被调用时,添加了 1 件 10 号商品。对于对象 $another_cart,3 件 0815 号商品被添加到购物车中。
$cart 和 $another_cart 都有方法 add_item(),remove_item() 和一个 items 变量。它们都是明显的函数和变量。可以把它们当作文件系统中的某些类似目录的东西来考虑。在文件系统中,可以拥有两个不同的 README.TXT 文件,只要不在相同的目录中。正如从为了根目录访问每个文件需要输入该文件的完整的路径名一样,必须指定需要调用的函数的完整名称:在 php 术语中,根目录将是全局名字空间,路径名符号将是 ->。因而,名称 $cart->items 和 $another_cart->items 命名了两个不同的变量。注意变量名为 $cart->items,不是 $cart->$items,那是因为在 php 中一个变量名只有一个单独的美元符号。
<?php// 正确,只有一个 $$cart->items = array(10 => 1);// 不正确,因为 $cart->$items 变成了 $cart->$cart->$items = array(10 => 1);// 正确,但可能不是想要的结果:// $cart->$myvar 变成了 $cart->items$myvar = 'items';$cart->$myvar = array(10 => 1);?>
在定义类的时候,无法得知将使什么名字的对象来访问:在编写 Cart 类时,并不知道之后对象的名称将会命名为 $cart 或者 $another_cart。因而你不能在类中使用 $cart->items。然而为了类定义的内部访问自身的函数和变量,可以使用伪变量 $this 来达到这个目的。$this 变量可以理解为“我自己的”或者“当前对象”。因而 '$this->items[$artnr] += $num' 可以理解为“我自己的物品数组的 $artnr 计数器加 $num”或者“在当前对象的物品数组的 $artnr 计数器加 $num”。
Ⅵ php数组的基本语法 : PHP 数组
数组能够在单独的变量名中存储一个或多个值。
实例
数组在单个变量中存储多个值:
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
什么是数组?
数组是特殊的变量,它可以同时保存一个以上的值。
如果您有一个项目列表(例如汽车品牌列表),在单个变量中存储这些品牌名称是这样的:
$cars1="Volvo";
$cars2="BMW";
$cars3="SAAB";
不过,假如您希望对变量进行遍历并找出特定的那个值?或者如果您需要存储 300 个汽车品牌,而不是 3 个呢?
解决方法是创建数组!
数组能够在单一变量名中存储许多值,并且您能够通过引用下标号来访问某个值。
在 PHP 中创建数组
在 PHP 中, array() 函数用于创建数组:
array();
在 PHP 中,有三种数组类型:
索引数组 - 带有数字索引的数组
关联数组 - 带有指定键的数组
多维数组 - 包含一个或多个数组的数组
PHP 索引数组
有两种创建索引数组的方法:
索引是自动分配的(索引从 0 开始):
$cars=array("Volvo","BMW","SAAB");
或者也可以手动分配索引:
$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="SAAB";
下面的例子创建名为 $cars 的索引数组,为其分配三个元素,然后输出包含数组值的一段文本:
实例
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
获得数组的长度 - count() 函数
count() 函数用于返回数组的长度(元素数):
实例
<?php
$cars=array("Volvo","BMW","SAAB");
echo count($cars);
?>
遍历索引数组
如需遍历并输出索引数组的所有值,您可以使用 for 循环,就像这样:
实例
<?php
$cars=array("Volvo","BMW","SAAB");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++) {
echo $cars[$x];
echo "
";
}
?>
PHP 关联数组
关联数组是使用您分配给数组的指定键的数组。
有两种创建关联数组的方法:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
或者:
$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
随后可以在脚本中使用指定键:
实例
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
遍历关联数组
如需遍历并输出关联数组的所有值,您可以使用 foreach 循环,就像这样:
实例
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "
";
}
?>
Ⅶ php中最基本的语法格式有些不懂
为了避免误人子弟,我反复查阅资料,给出以下回答。
echo 实际上不是一个函数,它是一个命令,所以是不需要括号的,但是PHP支持加上括号的写法。
参考:http://cn.php.net/manual/zh/function.echo.php
print 与 echo 是一样的,毫无差别。PHP官方的解释是,echo 比 print 快一点点。
参考:http://cn.php.net/manual/zh/function.print.php
print_r 是格式化输出,它可以打印数组和对象。你用print打印一个数组将始终输出array,而使用print_r将能输出整个数组的结构。
参考:http://cn.php.net/manual/zh/function.printf.php
\n是换行符的意思,输出后文本将被换行。还有 \r (回车符)、 \t (制表符)等这些不可视的字符。
你问的第三点好像写错了,应该是
$arr=array(10,1,5,2=>8,5=>15,18);
=> 运算符指示数组的元素值(参考:http://apps.hi..com/share/detail/19910637)
2=>8 的意思就是第二号元素的值为8,数组中原来第二号元素的值将被取代。
最终print_r($arr)的时候
Array
(
[0] => 10
[1] => 1
[2] => 8
[5] => 15
[6] => 18
)
下标为 2 的元素值 5 被 8 取代,4 下标被 5=>15 强制跳过。
Ⅷ php基础知识点
php基础知识点
PHP是一种非常流行的开源服务器端脚本语言,下面我整理了php基础知识点,希望对大家有帮助!
定义和用法
strrev() 函数反转字符串。
语法
strrev(string)
参数 描述
string 必需。规定要反转的字符串。
echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出 echo 会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。
print 是打印字符串
print_r 则是打印复合类型 如数组 对象
$arr = array('a','b','c');
foreach($arr as &$v){ }
print_r($arr);
结果:
Array ( [0] => a [1] => b [2] => c )
foreach($arr as $v){ }
print_r($arr);
结果:
Array ( [0] => a [1] => b [2] => b )
HTTP请求
请求方法(所有方法全为大写)有多种,各个方法的解释如下:
GET 请求获取Request-URI所标识的资源
POST 在Request-URI所标识的资源后附加新的数据
HEAD 请求获取由Request-URI所标识的资源的响应消息报头
PUT 请求服务器存储一个资源,并用Request-URI作为其标识
DELETE 请求服务器删除Request-URI所标识的资源
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文
1、状态行格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的`文本描述。
状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
常见状态代码、状态描述、说明:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
eg:HTTP/1.1 200 OK (CRLF)
2、响应报头后述
3、响应正文就是服务器返回的资源的内容
Ⅸ php要学哪些东西学习php需要掌握哪些东西
PHP需要掌握的知识还是比较多的,最基本的比如:PHP基本的语法、php框架以及CMS、mysql数据库设计表、mysql数据库的基本SQL语句。现在一般PHP的都得会前端,那就包括:js/ajax、html、css。如果更高点层次的就是linux服务器。x0dx0a下面参考雷雪松的个人博客学习PHP的路线和一些方法。x0dx0a1、用集成环境安装PHP环境,一定要记住这一点,不要自己分开去装,尤其是自学的朋友。不然你会觉得很复杂,会没有信心学下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的阶段历练才有最后的沉淀。x0dx0a2、先了解一些基本的变量类型,语法,函数,基本逻辑,写简单的代码。前期以尝试,培养兴趣为主。这段时间是打基础很好的时候,这个会影响你后面的发展,不过也可以在后期去完善。x0dx0a3、这时候你可能觉得PHP就这样,没什么难度,或者有的觉得太难了,简直一脸疑惑。这个到底有什么用。在这时候一定要坚持下来,可以试试先放一下,别太较真。慢慢的困惑你的会被你领悟的。这时,建议学习html+css+js,缓解自己的压力,这个相对简单,简历信心。尤其是js,总结其实有相同的思路,可以结合着一起体会。x0dx0a4、这些都感觉有80%了解就可以先放放了,现在在学习MySQL,也是先了解基础的。这个是干什么的,我可以用它做什么。因为之前装的集成环境。为什么感觉是凌乱的,我想告诉你的是,一是不要在自己没能力解决问题的时候死磕,浪费时间,丧失信心。这时候我们要做的是学习壮大自己,不要灰心。二是我本来觉得这一切都了解才是完整的。我们的目标也是要把这些都做好,这才是一个合格的PHP程序员。x0dx0a5、这一切都顺利的话,你基本离预设的目标不远了,完成了整个学习的70%了。后面的是在之前的基础上升华。把HTML和css、js结合、静态文件和PHP结合、PHP和MySQL结合。这个阶段可能越到的问题会异常的多,一定要学会解决问题。网上很多都是答案,同样你要学会问问题。x0dx0a6、这些之后你基本已经快到学习的尾声了,但还缺少经验。这时,你可以看一些网上开源的cms,例如织梦,国内用的多,越到问题好解决。看看一些视频(网上免费的很多),查漏补缺,总结归纳形成自己的知识体系。是时候该准备庆祝下自己这段的时间没有白费(一般2到3各月,看平时每天花的时间),基本成为一个合格的PHP程序员了。也该恭喜你了,其实并不那么难。坚持,坚持;努力,努力;学习,学习。