PHP 学习(一)
以下内容均来自http://www.w3school.com.cn/php/
感谢w3chool提供的学习平台。赞。
PHP学习:
1.PHP的片段
<?php>
....
<?>
2.三种注释方式:
2.1 //...
2.2 #...
2.3 /*....
...*/
3.函数,类,关键字的大小写不敏感
echo === EcHo
4.所有变量对大小写敏感
$value != $valUE
5.PHP 变量规则:
5.1 变量以 $ 符号开头,其后是变量的名称
5.2 变量名称必须以字母或下划线开头
5.3 变量名称不能以数字开头
5.4 变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
5.5 变量名称对大小写敏感($y 与 $Y 是两个不同的变量)
6.PHP 有三种不同的变量作用域:
6.1 local(局部)
6.2 global(全局)
6.3 static(静态)
7.Local 和 Global 作用域
7.1 函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
7.2 函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
8.PHP global 关键词
8.1 global 关键词用于访问函数内的全局变量。(要做到这一点,请在(函数内部)变量前面使用 global 关键字)
9.PHP static 关键词
通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。
要完成这一点,请在您首次声明变量时使用 static 关键词.
10.PHP echo 和 print 语句
echo 和 print 之间的差异:
echo - 能够输出一个以上的字符串 (echo "This", " string", " was", " made", " with multiple parameters.";)
print - 只能输出一个字符串,并始终返回 1 (print "I'm about to learn PHP!";)
提示:echo 比 print 稍快,因为它不返回任何值。
11.PHP 逻辑是 true 或 false。
$x=true;
$y=false;
12.PHP 数组
数组在一个变量中存储多个值。
$cars=array("Volvo","BMW","SAAB");
13.PHP 对象
在 PHP 中,必须明确地声明对象。
首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。
然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:
实例
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>
14.PHP NULL 值
特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。
NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。
可以通过把值设置为 NULL,将变量清空
15.字符串操作函数
15.1 PHP strlen() 函数, strlen() 函数返回字符串的长度,以字符计。
<?php
echo strlen("Hello world!");
?>
15.2PHP strpos() 函数
strpos() 函数用于检索字符串内指定的字符或文本。
如果找到匹配,则会返回首个匹配的字符位置。如果未找到匹配,则将返回 FALSE。
<?php
echo strpos("Hello world!","world"); //output:6
?>
16.PHP 常量
16.1 常量是单个值的标识符(名称)。在脚本中无法改变该值。
有效的常量名以字符或下划线开头(常量名称前面没有 $ 符号)。
与变量不同,常量贯穿整个脚本是自动全局的。
16.2设置 PHP 常量
如需设置常量,请使用 define() 函数 - 它使用三个参数:
1)首个参数定义常量的名称
2)第二个参数定义常量的值
3)可选的第三个参数规定常量名是否对大小写敏感。默认是 false(敏感) true(不敏感)。
<?php
define("GREETING", "Welcome to W3School.com.cn!");
echo GREETING;
?>
17.PHP运算符
17.1 加减乘除,模与其他语言没有差别。
17.2 字符串运算符:
1) . 串接
$txt1 = "Hello"
$txt2 = $txt1 . " world!" //现在 $txt2 包含 "Hello world!"
2) .= 串接赋值
$txt1 = "Hello"
$txt1 .= " world!" //现在 $txt1 包含 "Hello world!"
17.3 比较运算符
比较运算符与其它语言基本一致。特殊的几个:
=== 全等(完全相同) $x === $y 如果 $x 等于 $y,且它们类型相同,则返回 true。
!== 不全等(完全不同) $x !== $y 如果 $x 不等于 $y,且它们类型不相同,则返回 true。
代码:
$x=100;
$y="100";
var_dump($x == $y); // 因为值相等,返回 true
echo "<br>";
var_dump($x === $y); // 因为类型不相等,返回 false
echo "<br>";
var_dump($x != $y); // 因为值相等,返回 false
echo "<br>";
var_dump($x !== $y); // 因为值不相等,返回 true
echo "<br>";
17.4 逻辑运算符
与其它语言保持一致。注意几点:
and <===> &&
or <===> ||
17.5 数组运算符 (用于数组的比较)
+ 联合 $x + $y $x 和 $y 的联合(但不覆盖重复的键)
== 相等 $x == $y 如果 $x 和 $y 拥有相同的键/值对,则返回 true。
=== 全等 $x === $y 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。
!= 不相等 $x != $y 如果 $x 不等于 $y,则返回 true。
<> 不相等 $x <> $y 如果 $x 不等于 $y,则返回 true。
!== 不全等 $x !== $y 如果 $x 与 $y 完全不同,则返回 true。
17.6 逻辑控制,循环
逻辑控制的if else elseif 与其它语言保持一致。
循环包括:while do..while for foreach($arr as $value) 与其它语言保持一致.
需要注意foreach的使用:
<?php
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
18.PHP函数
函数是可以在程序中重复使用的语句块。
页面加载时函数不会立即执行。
函数只有在被调用时才会执行。
函数名对大小写不敏感。
<?php
function writeMsg() {
echo "Hello world!";
}
writeMsg(); // 调用函数
?>
函数传参数的实例:
<?php
function familyName($fname,$year) {
echo "$fname Zhang. Born in $year <br>";
}
familyName("Li","1975");
familyName("Hong","1978");
familyName("Tao","1983");
?>
函数参数默认值:
<?php
function setHeight($minheight=50) {
echo "The height is : $minheight <br>";
}
setHeight(350);
setHeight(); // 将使用默认值 50
setHeight(135);
setHeight(80);
?>
19.PHP数组
19.1 基本认识
array() 函数用于创建数组。
在 PHP 中,有三种数组类型:
1)索引数组 - 带有数字索引的数组
2)关联数组 - 带有指定键的数组
3)多维数组 - 包含一个或多个数组的数
索引是自动分配的(索引从 0 开始):
$cars=array("Volvo","BMW","SAAB");
实例:
<?php
$cars=array("Volvo","BMW","SAAB");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
19.2 数组的操作
count(数组名) 函数用于返回数组的长度(元素数)
数组排序:
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
19.3 关联数组
关联数组是使用您分配给数组的指定键的数组。
$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.";
?>
遍历输出关联数组中的所有值:
<?php
$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");
foreach($age as $x=>$x_value) {
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
20.超全局变量
PHP 中的许多预定义变量都是“超全局的”,
这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
这些超全局变量是:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
实例1:关于$GLOBALS
<?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z; //100
?>
其余超全局变量后面再学习。