PHP教程

php学习

本文主要是介绍php学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一.PHP简介

1.php是什么

  • PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言。
  • PHP 脚本在服务器上执行。

2.php作用

  • PHP 可以生成动态页面内容
  • PHP 可以创建、打开、读取、写入、关闭服务器上的文件
  • PHP 可以收集表单数据
  • PHP 可以发送和接收 cookies
  • PHP 可以添加、删除、修改您的数据库中的数据
  • PHP 可以限制用户访问您的网站上的一些页面
  • PHP 可以加密数据

3.为什么使用php

  • PHP 可在不同的平台上运行(Windows、Linux、Unix、Mac OS X 等)
  • PHP 与目前几乎所有的正在被使用的服务器相兼容(Apache、IIS 等)
  • PHP 提供了广泛的数据库支持
  • PHP 易于学习,并可高效地运行在服务器端

二.PHP的语法

1.php以<?php 开始,以?>结束  如下:

<?php
// PHP 代码
?>

2.注释

//为单行注释

/*       为

         多

         行

         注

         释      */       (与c语言相同)

三.PHP变量

1变量规则

  • 变量以 $ 符号开始,后面跟着变量的名称
  • 变量名必须以字母或者下划线字符开始
  • 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
  • 变量名不能包含空格
  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

2.创建变量

PHP 没有声明变量的命令。变量在第一次赋值给它的时候被创建,当赋一个文本值给变量时需要在两侧加上引号

php是弱类型语言

不必向 PHP 声明该变量的数据类型,PHP 会根据变量的值,自动把变量转换为正确的数据类型。

(而在强类型语言中 例如c语言 则需要声明数据类型 如 :int  double)  

在我看来非常方便   果然 

“php是最好的语言”——————鸿格尔学长

3.局部和全局作用域

在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问:

例如

<?php

$x=1;     //全局变量

function myTest()

{    $y=2;   //                      局部变量

echo "变量 x 为: $x";   //  不能输出x  因为x在函数外部被定义         在x前加上 global即可输出  
echo "<br>";
echo "变量 y 为: $y";   //   能输出y   

}

myTest();
echo "变量 x 为: $x";  //可以输出x
echo "<br>";
echo "变量 y 为: $y";  //不能输出y  因为y在函数内部定义 
?>

4.static(静态的)—— static 作用域

一个函数执行完成时,它的所有变量通常都会被删除。

然而,有时需要局部变量不要被删除,要做到这一点,第一次声明变量时使用 static 关键字。

四.echo/print

区别:

  • echo - 可以输出一个或多个字符串
  • print - 只允许输出一个字符串,返回值总为 1

提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

两者可加括号也可不加括号

五.EOF(heredoc)(不太明白)

PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。

使用概述:

  • 1. 必须后接分号,否则编译通不过。
  • 2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。
  • 3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  • 4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
  • 注意:

    1.以 <<<EOF 开始标记开始,以 EOF 结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号 。

    2.开始标记和结束标记相同,比如常用大写的 EOT、EOD、EOF 来表示,但是不只限于那几个(也可以用:JSON、HTML等),只要保证开始标记和结束标记不在正文中出现即可。

    3.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。在 heredoc 中,变量不需要用连接符 。

六.数据类型

1.字符串

 一个字符串是一串字符的序列,就像 "Hello world!"。可以将任何文本放在单引号和双引号中

php并置运算符(.)用于把两个字符串值连接起来。

例如:

<?php

$txt1="721";

$txt2="nb";

echo $txt1." ".$txt2;

?>

PHP strlen() 函数

可以知道字符串的长度

PHP strpos() 函数

strpos() 函数用于在字符串内查找一个字符或一段指定的文本。

如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

例如:

<?php

echo strpos("aabaa","b");

?>                          将输出 2  因为字符串第一个位置是0

2.整型 (类似与c中的 int)

整数规则:

  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)

3.浮点数

浮点数是带小数部分的数字,或是指数形式。

4.布尔型

布尔型可以是 TRUE 或 FALSE。

5.数组

数组是一个能在单个变量中存储多个值的特殊变量。并且可以根据键访问其中的值

创建数组

array函数用于创建数组     array();

数组类型

  • 数值数组 - 带有数字 ID 键的数组

 自动分配ID键 (从0开始) $game=array("lol","cf","dnf")

人工分配ID键  $game[0]="lol"; $game[1]="cf";game[2]="dnf"

<?php

$game=array("lol","cf","dnf");

echo "我喜欢玩".$game[0].";

?>                输出 我喜欢玩lol

遍历并打印数值数组中的所有值,可以使用 for 循环

例如:

<?php

$game=array("lol","cf","dnf");

$arrlength($game);

for($x=0;x<=$arrlength;$x++)

{  echo $game[$x];

echo "<br>"; }

?>

  • 关联数组 - 带有指定的键的数组,每个键关联一个值

关联数组是使用自己分配给数组的指定的键的数组。 也有两种方法

$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

或者

$age['Peter']="35";
$age['Ben']="37";
$age['Joe']="43";

遍历并打印关联数组中的所有值,可以使用 foreach 循环

  • 多维数组 - 包含一个或多个数组的数组

获取数组的长度 - count() 函数 (能知道数组中元素的数量)

PHP - 数组排序函数

  • sort() - 对数组进行升序排列
  • rsort() - 对数组进行降序排列
  • asort() - 根据关联数组的值,对数组进行升序排列
  • ksort() - 根据关联数组的键,对数组进行升序排列
  • arsort() - 根据关联数组的值,对数组进行降序排列
  • krsort() - 根据关联数组的键,对数组进行降序排列

6.对象

7.null

NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。

七.数据类型比较

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型。

八.常量

1.常量是一个简单值的标识符。该值在脚本中不能改变。

2.设置常量

使用define函数

bool define ( string $name , mixed $value )
  • name:必选参数,常量名称,即标志符。
  • value:必选参数,常量的值。

例如:

<?php

define("a",1);

echo a;

?>      输出1

九.运算符及优先级 if---else, switch ,while ,for(同c 省略)

foreach循环

每一次循环,当前数组元素的键与值就都会被赋值给 $key 和 $value 变量(数字指针会逐一地移动),在进行下一次循环时,将看到数组中的下一个键与值。

十.PHP函数

1.函数是通过调用函数来执行的,可以在页面的任何位置调用函数。

<?php

function functionName()

{ // 要执行的代码 }

?>

2.添加参数

参数在函数名称后面的一个括号内指定

十一.PHP魔术常量

1.——LINE——

可以输出行数

例如:

<?php

echo  '这是第 " ' . __LINE__ . ' " 行' ;

?>

结果: 这是第“2”行

2._file_

文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。

3._dir_

文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。

4._funtion_

<?php function test()

{ echo '函数名为:' . __FUNCTION__ ; }

test();

?>

结果 test

5._class_(不太明白)

类的名称

<?php

{

6._trait_(不明白)

7._METHOD_

返回该方法被定义时的名字

8._NAMESPACE_

当前命名空间的名称

十二.命名空间(未完成)

十三.PHP面对对象(未完成)

在面向对象的程序设计中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象。

对象的主要三个特性:

  • 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为。
  • 对象的形态:当施加那些方法是对象如何响应,颜色,尺寸,外型。
  • 对象的表示:对象的表示就相当于身份证,具体区分在相同的行为与状态下有什么不同。

面向对象内容

  • − 定义了一件事物的抽象特点。类的定义包含了数据的形式以及对数据的操作。

  • 对象 − 是类的实例。

  • 成员变量 − 定义在类内部的变量。该变量的值对外是不可见的,但是可以通过成员函数访问,在类被实例化为对象后,该变量即可成为对象的属性。

  • 成员函数 − 定义在类的内部,可用于访问对象的数据。

  • 继承 − 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

  • 父类 − 一个类被其他类继承,可将该类称为父类,或基类,或超类。

  • 子类 − 一个类继承其他类称为子类,也可称为派生类。

  • 多态 − 多态性是指相同的函数或方法可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。

  • 重载 − 简单说,就是函数或者方法有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。

  • 抽象性 − 抽象性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。

  • 封装 − 封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。

  • 构造函数 − 主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

  • 析构函数 − 析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做"清理善后" 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。

这篇关于php学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!