PHP复习整理

PHP 脚本以 <?php 开始,以 ?> 结束:

<?php
// PHP 代码
?>

// 这是 PHP 单行注释

/*
这是 
PHP 多行
注释
*/

PHP 变量规则:

· 变量以 $ 符号开始,后面跟着变量的名称

· 变量名必须以字母或者下划线字符开始

· 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )

· 变量名不能包含空格

· 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

PHP 没有声明变量的命令。

变量在您第一次赋值给它的时候被创建:

global 关键字用于函数内访问全局变量。

在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:

在 php 中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中并定义没有全局变量相同的变量,也会被覆盖

PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];

echo 和 print 区别:

· echo - 可以输出一个或多个字符串

· print - 只允许输出一个字符串,返回值总为 1

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

echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。


echo "<h2>PHP 很有趣!</h2>"; echo "Hello world!<br>";
echo "<h2>PHP 很有趣!</h2>"; echo "Hello world!<br>";
print $txt1; print "<br>";

echo(): 可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。

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

使用概述:

· 1. 必须后接分号,否则编译通不过。

· 2. EOF 可以用任意其它字符代替,只需保证结束标识与开始标识一致。

· 3. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。

· 4. 开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。

· 5. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。

<?php echo <<<EOF <h1>我的第一个标题</h1> <p>我的第一个段落。</p> EOF; // 结束需要独立一行且前后不能空格 ?>

注意:

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

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

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

<?php $name="runoob"; $a= <<<EOF "abc"$name "123" EOF; // 结束需要独立一行且前后不能空格 echo $a; ?>

· 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。

布尔型可以是 TRUE 或 FALSE。
$cars=array("Volvo","BMW","Toyota");

PHP 对象

对象数据类型也可以用于存储数据。

在 PHP 中,对象必须声明。

首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。

然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:

<?php class Car { var $color; function __construct($color="green") { $this->color = $color; } function what_color() { return $this->color; } } ?>

设置 PHP 常量

设置常量,使用 define() 函数,函数语法如下:

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

该函数有三个参数:

· name:必选参数,常量名称,即标志符。

· value:必选参数,常量的值。

· case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的

当您赋一个文本值给变量时,请记得给文本值加上单引号或者双引号。

在 PHP 中,只有一个字符串运算符。

并置运算符 (.) 用于把两个字符串值连接起来。echo $txt1 . " " . $txt2; 

strlen() 函数返回字符串的长度(字符数)。

<?php

echo strlen("中文字符");   // 输出 12?>

输出结果为 12,因为一个中文占 3 个字符数。

可以使用 mb_strlen 设置指定编码输出中文字符个数:echo mb_strlen("中文字符",'utf-8');  // 输出 4

在 PHP 中,有三种类型的数组:

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

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

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

这里有两种创建数值数组的方法:

自动分配 ID 键(ID 键总是从 0 开始):

$cars=array("Volvo","BMW","Toyota");

人工分配 ID 键:

$cars[0]="Volvo";
$cars[1]="BMW";
$cars[2]="Toyota";

遍历数值数组

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

实例

<?php $cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; } ?>

关联数组是使用您分配给数组的指定的键的数组。

这里有两种创建关联数组的方法:

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

or:

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

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

实例

<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>

在本章中,我们将一一介绍下列 PHP 数组排序函数:

· sort() - 对数组进行升序排列

· rsort() - 对数组进行降序排列

· asort() - 根据关联数组的值,对数组进行升序排列

· ksort() - 根据关联数组的键,对数组进行升序排列

· arsort() - 根据关联数组的值,对数组进行降序排列

· krsort() - 根据关联数组的键,对数组进行降序排列

超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用

PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。

PHP 超级全局变量列表:

· $GLOBALS

· $_SERVER

· $_REQUEST

· $_POST

· $_GET

· $_FILES

· $_ENV

· $_COOKIE

· $_SESSION
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];

function writeName($fname) { echo $fname . " Refsnes.<br>"; }

有八个魔术常量它们的值随着它们在代码中的位置改变而改变。

PHP 中的 $_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入。
有一点很重要的事情值得注意,当处理 HTML 表单时,PHP 能把来自 HTML 页面中的表单元素自动变成可供 PHP 脚本使用。

PHP 下拉菜单单选

以下实例我们设置了下拉菜单三个选项,表单使用 GET 方式获取数据,action 属性值为空表示提交到当前脚本,我们可以通过 select 的 name 属性获取下拉菜单的值:

<?php $q = isset($_GET['q'])? htmlspecialchars($_GET['q']) : ''; if($q) { if($q =='RUNOOB') { echo '菜鸟教程<br>http://www.runoob.com'; } else if($q =='GOOGLE') { echo 'Google 搜索<br>http://www.google.com'; } else if($q =='TAOBAO') { echo '淘宝<br>http://www.taobao.com'; } } else { ?>

<form action="" method="get"> <select name="q"> <option value="">选择一个站点:</option> <option value="RUNOOB">Runoob</option> <option value="GOOGLE">Google</option> <option value="TAOBAO">Taobao</option> </select> <input type="submit" value="提交"> </form>

<?php } ?>

php连接到服务器

<?php $servername = "localhost"; $username = "username"; $password = "password"; // 创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } echo "连接成功"; ?>

注意在以上面向对象的实例中 $connect_error 是在 PHP 5.2.9 和 5.3.0 中添加的。如果你需要兼容更早版本 请使用以下代码替换:

// 检测连接
if (mysqli_connect_error()) {
    die("数据库连接失败: " . mysqli_connect_error());
}

<?php $servername = "localhost"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); echo "连接成功"; } catch(PDOException $e) { echo $e->getMessage(); } ?>

关闭连接

连接在脚本执行完后会自动关闭。你也可以使用以下代码来关闭连接:

实例 (MySQLi - 面向对象)

$conn->close();

实例 (MySQLi - 面向过程)

mysqli_close($conn);

实例 (PDO)

$conn = null;

// 创建数据库
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
    echo "数据库创建成功";
} else {
    echo "Error creating database: " . $conn->error;
}

$conn->close();
?>

// 使用 exec() ,因为没有结果返回,PDO用这个 
    $conn->exec($sql); 

ODBC 是一种应用程序编程接口(Application Programming Interface,API),使我们有能力连接到某个数据源(比如一个 MS Access 数据库)

感觉差不多了

猜你喜欢

转载自blog.csdn.net/HeroIsUseless/article/details/81429648