- 变量
- 函数
- 常量函数
- 日期函数
- 流程控制
- if else
- switch
- while
- for
- mysql
PHP 脚本以 `` 结尾:
变量
1 2 3 4 5 6
| <?php
$x=5;
echo $x; ?>
|
PHP 有三种不同的变量作用域:
- local : 函数里定义的变量,只能在函数内部访问,函数外部不可访问
- global: 函数外部定义的变量,只能在函数外部访问,函数内部不可访问
- static: 当变量脱离它的作用域之后,并不会被删除掉,而是缓存起来
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <?php $x=5;
function socpePrint() { $y=10; echo $y; echo $x; }
myTest();
echo $y; echo $x; ?>
|
刚才我们只是介绍了global
这个作用域,其实还有global
关键字,这个关键字是在函数内部定义一个全局变量,让函数外访问函数内部的变量
1 2 3 4 5 6 7 8
| <?php function socpePrint() { global $x=10; }
socpePrint(); echo $x; ?>
|
php里有如下的数据类型
- 字符串
- 整数
- 浮点数
- 逻辑
- 数组
- 对象
- NULL
1 2 3 4 5 6 7
| <?php $stringVar="this is a string"; $numVar=10; $floatVar=1.0; $boolVar=true; $arrayVar=array(1,2); ?>
|
数组相关操作
1 2 3 4 5 6
| <?php $arrayVar=array(1,2); $ele1=$arrayVar[0]; $arrayCount=count($arrayVar); $arrayVar[2]=3; ?>
|
函数
下面我们定义了一个求和函数, 这个函数定义了俩个参数x, y
, 其中y是一个默认参数,它有一个默认值, 最后我们还定义了一个函数返回值.
1 2 3 4 5 6 7 8
| <?php function sum($x,$y=5) { $z=$x+$y; return $z; }
echo sum(5,10); ?>
|
常量函数
在php中,我们如果想要定义一个常量,则必须使用常量函数define()
1 2 3 4
| <?php define("constant", "I am constant", true); echo CONSTANT; ?>
|
最后一个参数是一个可选参数,如果设置为true,则说明访问常量的时候是不区分大小写的. 访问常量则不需要$
符号
日期函数
我们使用date(format,timestamp)
函数来获得系统的时间, 第二个参数是可选的,如果不填则是当前时间. 第一个参数则是格式化时间戳的格式, 有如下选项
d
- 表示月里的某天(01-31)
m
- 表示月(01-12)
Y
- 表示年(四位数)
1
- 表示周里的某天
h
- 带有首位零的 12 小时小时格式
i
- 带有首位零的分钟
s
- 带有首位零的秒(00 -59)
a
- 小写的午前和午后(am 或 pm)1 2 3 4 5
| <?php $now = date("Y-m-d h:i:sa"); echo $now; ?>
|
流程控制
if else
1 2 3 4 5 6 7 8 9
| <?php define("TEN", 10);
if (TEN<"20") { echo "10 < 20"; } else { echo "ERROR"; } ?>
|
如果还有其他条件的话我们可以采用
1 2 3 4 5 6 7 8 9 10 11
| <?php define("TEN", 10);
if (TEN<20) { echo "10 < 20"; } elseif (TEN==20) { echo "ERROR"; } else { echo "ERROR"; } ?>
|
switch
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?php switch ($x) { case 1: echo "Number 1"; break; case 2: echo "Number 2"; break; default: echo "No number between 1 and 3"; } ?>
|
while
1 2 3 4 5 6 7
| <?php $x=1; while($x<=5) { echo "这个数字是:$x <br>"; $x++; } ?>
|
for
1 2 3 4 5
| <?php for ($x=0; $x<=10; $x++) { echo $x; } ?>
|
另外还有一种适用于数组的foreach
1 2 3 4 5 6 7
| <?php $colors = array("red","green","blue","yellow");
foreach ($colors as $value) { echo "$value"; } ?>
|
如果我们遍历数组的时候,数组的元素是一个键值对的话, 我们可以这样处理
<?php
$colors = array(“red:555”,”green:123”,”blue:856”);
foreach ($colors as $colerKey => $colorValue) {
echo “$colerKey is $colorValue”;
}
?>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| `=>`就表示一个键值对
## 文件 我们使用`fopen(fileName, openMode)`函数打开文件, 第一个参数是文件名, 第二个参数打开模式 * `r`: 打开文件为只读。文件指针在文件的开头开始。 * `w`: 打开文件为只写。删除文件的内容或创建一个新的文件,如果它不存在。文件指针在文件的开头开始。 * `a`: 打开文件为只写。文件中的现有数据会被保留。文件指针在文件结尾开始。创建新的文件,如果文件不存在。 * `x`: 创建新文件为只写。返回 FALSE 和错误,如果文件已存在。 * `r+`: 打开文件为读/写、文件指针在文件开头开始。 * `w+`: 打开文件为读/写。删除文件内容或创建新文件,如果它不存在。文件指针在文件开头开始。 * `a+`: 打开文件为读/写。文件中已有的数据会被保留。文件指针在文件结尾开始。创建新文件,如果它不存在。 * `x+`: 创建新文件为读/写。返回 FALSE 和错误,如果文件已存在。 ```php <?php $demofile = fopen("demo.txt", "r") or die("Unable to open file!"); ?>
|
读取文件内容, fread()
函数会读取整个文件内容
1 2 3 4
| <?php $demofile = fopen("demo.txt", "r") or die("Unable to open file!"); fread($demofile,filesize("demo.txt")); ?>
|
按行读取
1 2 3 4 5 6 7
| <?php $demofile = fopen("demo.txt", "r") or die("Unable to open file!"); while(!feof($demofile)) { echo fgets($demofile); } fclose($myfile); ?>
|
向文件中写入数据
1 2 3 4 5
| <?php $demofile = fopen("demo.txt", "w") or die("Unable to open file!"); fwrite($demofile, "hello world"); fclose($myfile); ?>
|
mysql
建立连接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?php
$con = mysql_connect("localhost","root","root"); if (!$con) { die('Could not connect: ' . mysql_error()); }
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result)) { echo $row['FirstName']; }
mysql_close($con); ?>
|