你的位置:首页 > 软件开发 > 操作系统 > php基础教程

php基础教程

发布时间:2015-08-07 22:00:08
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。PHP Hypertext Preprocessor什么是 PHP 文件?PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码PHP 代码在服务器上执行,而结果以纯文本返回浏览器PHP 文件的后缀是 &quot ...
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。PHP Hypertext Preprocessor

什么是 PHP 文件?

  • PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码
  • PHP 代码在服务器上执行,而结果以纯文本返回浏览器
  • PHP 文件的后缀是 ".php"

PHP 能够做什么?

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

通过 PHP,您可以不受限于只输出 HTML。您还能够输出图像、PDF 文件、甚至 Flash 影片。您也可以输出任何文本,比如 XHTML 和

 

基础 PHP 语法

PHP 脚本可放置于文档中的任何位置。

PHP 脚本以 <?php 开头,以 ?> 结尾:

<?php// 此处是 PHP 代码?>

PHP 文件的默认文件扩展名是 ".php"。

PHP 文件通常包含 HTML 标签以及一些 PHP 脚本代码。

 

PHP 支持三种注释:

 

<?php// 这是单行注释# 这也是单行注释/*这是多行注释块它横跨了多行*/?>
在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感。有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。与变量不同,常量贯穿整个脚本是自动全局的。

设置 PHP 常量

如需设置常量,请使用 define() 函数 - 它使用三个参数:

  1. 首个参数定义常量的名称
  2. 第二个参数定义常量的值
  3. 可选的第三个参数规定常量名是否对大小写敏感。默认是 false。
创建了一个对大小写敏感的常量,值为 "Welcome to W3School.com.cn!":

在 PHP 中,我们可以使用以下条件语句:

  • if 语句 - 如果指定条件为真,则执行代码
  • if...else 语句 - 如果条件为 true,则执行代码;如果条件为 false,则执行另一端代码
  • if...elseif....else 语句 - 选择若干段代码块之一来执行
  • switch 语句 - 语句多个代码块之一来执行

在 PHP 中,我们有以下循环语句:

  • while - 只要指定条件为真,则循环代码块
  • do...while - 先执行一次代码块,然后只要指定条件为真则重复循环
  • for - 循环代码块指定次数
  • foreach - 遍历数组中的每个元素并循环代码块

PHP foreach 循环

foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。

<?php $colors = array("red","green","blue","yellow"); foreach ($colors as $value) { echo "$value <br>";}?>
PHP 的真正力量来自它的函数:它拥有超过 1000 个内建的函数。

页面加载时函数不会立即执行。

函数只有在被调用时才会执行。

$_SERVER["PHP_SELF"] 是一种超全局变量,它返回当前执行脚本的文件名。

因此,$_SERVER["PHP_SELF"] 将表单数据发送到页面本身,而不是跳转到另一张页面。这样,用户就能够在表单页面获得错误提示信息。

htmlspecialchars() 函数把特殊字符转换为 HTML 实体。<?phpWarning    如果向八进制数传递了一个非法数字(即 8 或 9),则后面其余数字会被忽略。

如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。

PHP 中没有整除的运算符。1/2 产生出 float0.5。值可以舍弃小数部分强制转换为 integer,或者使用 round() 函数可以更好地进行四舍五入。

<?phpWarning    决不要将未知的分数强制转换为 integer,这样有时会导致不可预料的结果。<?php比较浮点数迂回的方法:

用双引号定义的字符串最重要的特征是变量会被解析

Note:不象 heredoc 结构,nowdoc 结构可以用在任意的静态数据环境中,最典型的示例是用来初始化类的属性或常量:

当字符串用双引号或 heredoc 结构定义时,其中的变量将会被解析。

<?phpphp基础教程
<?php// 现在删除其中的所有元素,但保持数组本身不变:// 添加一个单元(注意新的键名是 5,而不是你可能以为的 0)// 重新索引:
<?php

foreach 控制结构是专门用于数组的。它提供了一个简单的方法来遍历数组。

对于任意 integer,float,string,boolean和 resource 类型,如果将一个值转换为数组,将得到一个仅有一个元素的数组,其下标为 0,该元素即为此标量的值。换句话说,(array)$scalarValue 与 array($scalarValue) 完全一样。

将 NULL 转换为 array 会得到一个空的数组。

可以用 array_diff() 和数组运算符来比较数组。

如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型的值被转换成对象,将会创建一个内置类 stdClass 的实例。如果该值为 NULL,则新的实例为空。数组转换成对象将使键名成为属性名并具有相对应的值。对于任何其它的值,名为scalar 的成员变量将包含该值。

<?php

资源 resource是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的

一些函数如 call_user_func() 或 usort() 可以接受用户自定义的回调函数作为参数。回调函数不止可以是简单函数,还可以是对象的方法,包括静态类方法。

void 作为返回类型意味着函数的返回值是无用的。void作为参数列表意味着函数不接受任何参数

在函数原型中,$... 表示等等的意思。当一个函数可以接受任意个参数时使用此变量名。

<?php

PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型。

<?php

将字符串文字和变量转换为二进制字符串:

<?php
NULLNULLobject(SimpleClass)#1 (1) {  ["var"]=>   string(30) "$assigned will have this value"}
以上例程会输出:
bool(true)bool(true)bool(true)
echo ClassName::class;

在类的成员方法里面,可以用 ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性。静态属性则是用 ::(双冒号):self::$property来访问。

定义和使用一个类常量

<?php

自动加载示例

分别从 MyClass1.php和 MyClass2.php 文件中加载 MyClass1 和 MyClass2 类。

具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

如果子类中定义了构造函数则不会隐式调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用parent::__construct()。如果子类没有定义构造函数则会如同一个普通的类方法一样从父类继承(假如没有被定义为 private 的话)。

和构造函数一样,父类的析构函数不会被引擎暗中调用。要执行父类的析构函数,必须在子类的析构函数体中显式调用parent::__destruct()。此外也和构造函数一样,子类如果自己没有定义析构函数则会继承父类的

析构函数即使在使用 exit()终止脚本运行时也会被调用。在析构函数中调用 exit() 将会中止其余关闭操作的运行。

试图在析构函数(在脚本终止时被调用)中抛出一个异常会导致致命错误。

被定义为公有的类成员可以在任何地方被访问。被定义为受保护的类成员则可以被其自身以及其子类和父类访问。被定义为私有的类成员则只能被其定义所在的类访问。

<?php

selfparent 和 static这三个特殊的关键字是用于在类定义的内部对其属性或方法进行访问的。

声明类属性或方法为静态,就可以不实例化类而直接访问。静态属性不能通过一个类已实例化的对象来访问(但静态方法可以)。

 

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:php基础教程

关键词:PHP

PHP
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。