当前位置:Gxlcms > PHP教程 > PHP语言入门

PHP语言入门

时间:2021-07-01 10:21:17 帮助过:40人阅读

PHP语言入门

2.1 PHP语言基础

2.1.1 PHP文件格式

Helloworld.php

Hello World!

//输出Hello,World

echo "Hello,World";

?>

2.1.2 PHP标记

<%

echo("这是ASP的标记输出");

%>

echo("这是PHP的的简写标记输出");

?>

$expression=1;

if ($expression) {

?>

这是真的!

} else {

?>

这是假的!

}

?>

2.1.3 PHP 文件爱女的访问形式

PHP为服务端执行的语言,必须通过服务器解释才能执行

Hello World!

hello world!

2.1.4 PHP程序注释

echo "C++语言注释的方法即 //
"; // 采用C++的注释方法

/* 多行注释

对于大段的注释很有用的哦*/

echo "多行注释方法即 /*...*/
";

echo "Unix的注释方法即 #
"; # 使用UNIX Shell语法注释

?>

/*

echo "不能嵌套使用多行注释符号\n"; /* 嵌套使用会出错*/

*/

?>

2.1.5 PHP语法概述

类似于C/C++

2.2 PHP的变量

2.2.1 PHP的变量命名

PHP变量名是区分大小写的,和C语言是一致的;

变量名必须是以美元符号($)开始;

变量名开头可以以下划线开始;

变量名不能以数字字符开始。

2.2.2 PHP的数据类型

$True="我是变量" . True;

echo($True);

echo("
");

echo("我是关键字" . True)

?>

$int_D=2147483647; //十进制赋值

echo($int_D);

echo("
");

$int_H=0x7FFFFFFF; //十六进制赋值

echo($int_H);

echo("
");

$int_O=017777777777; //八进制赋值

echo($int_O);

echo("
");

?>

$float_1=90000000000;

echo($float_1);

echo("
");

$float_2=9E10;

echo($float_2);

echo("
");

$float_3=9E+10;

echo($float_3);

?>

$single_str='我被单引号括起来了!
';

echo $single_str;

$single_str='输出单引号:\'嘿嘿,我在单引号里面\'
';

echo $single_str;

$single_str='输出双引号:"我在双引号里面"
';

print $single_str;

$single_str='输双美元符号:$';

print $single_str;

?>

$Double_str="我被双引号括起来了!
";

echo $single_str;

$single_str="输出单引号:'嘿嘿,我在单引号里面'
"; //不需要转义符

echo $single_str;

$single_str="输出双引号:\"我在双引号里面\"
"; //需要转义符

print $single_str;

$single_str="输出美元符号:\$
"; //需要转义符

print $single_str;

$single_str="输出反斜杠:\\
"; //需要转义符

print $single_str;

?>

$heredoc_str =<<

你好

美元符号 $

反斜杠 \

"我爱你"

'我恨你'

heredoc_mark;

echo $heredoc_str;

?>

本实例演示字符串中对变量的引用:

$str_1 = "我是变量的值!";

$str_2 = "str_1 : $str_1
"; //双引号字符串中包含变量$str_1

echo $str_2;

$str_1 = '我是变量的值';

$str_2 = 'str_1 : $str_1
'; //单引号中包含字符串的值

echo $str_2;

$str_1 = "我是变量的值!";

$str_2 = "str_1 : $str_12
"; //引用的变量名后,多了个字符即$str_12

echo $str_2;

$str_1 = "我是变量的值!";

$str_2 = "str_1 : ${str_1}2
"; //引用的变量名后,多了个字符即$str_12

echo $str_2;

?>

$a=""; //空字符串

$b = 3.1; //浮点型

$c= TRUE; //布尔型

$d = 2147483647; //整型

$e = 2147483648; //超过整型的范围,自动编程浮点型

$f= 0x80000000 ; //十六进制

$g="hi"; //字符串

$h=array(1,2); //数组

//分别输出类型

echo '$a类型是:';

var_dump($a);

echo '
$b类型是:';

var_dump($b);

echo '
$c类型是:';

var_dump($c);

echo '
$d类型是:';

var_dump($d);

echo '
$e类型是:';

var_dump($e);

echo '
$f类型是:';

var_dump($f);

echo '
$g类型是:';

var_dump($g);

echo '
$h类型是:';

var_dump($h);

?>

$a=0.1;

$b='hi';

$c=True;

if (is_numeric($a))

echo '$a是数值型
';

else

echo '$a不是数值型
';

if (is_int($a))

echo '$a是整型
';

else

echo '$a不是整型
';

if (is_string($b))

echo '$b是字符串型
';

else

echo '$b不是字符串型
';

if (is_bool($c))

echo '$c是布尔型
';

else

echo '$c不是布尔型
';

?>

$a=0.1; //定义变量

$b=0; //0值

$c=""; //空字符串

if (isset($a))

echo '$a已经被定义
';

else

echo '$a没有被定义
';

if (!empty($a))

echo '$a不为空
';

else

echo '$a为空
';

if (isset($b))

echo '$b已经被定义
';

else

echo '$b没有被定义
';

if (!empty($b))

echo '$b不为空
';

else

echo '$b为空
';

if (isset($c))

echo '$c已经被定义
';

else

echo '$c没有被定义
';

if (!empty($c))

echo '$a不为空
';

else

echo '$a为空
';

if (isset($d))

echo '$d已经被定义
';

else

echo '$d没有被定义
';

if (!empty($d))

echo '$d不为空
';

else

echo '$d为空
';

?>

2.2.3 数据类型转换

echo gettype((bool) "") . "
"; // bool(false)

echo gettype((bool) 1) . "
"; // bool(true)

echo gettype((bool) -2) . "
"; // bool(true)

echo gettype((bool) "foo") . "
"; // bool(true)

echo gettype((bool) 2.3e5) . "
"; // bool(true)

echo gettype((bool) array(12)) . "
"; // bool(true)

echo gettype((bool) array()) . "
"; // bool(false)

?>

$a=123456;

$b=123.456;

$c=-1.3e8;

//通过echo函数输出时,自动转换成

echo $a . "abc
";

echo $b ."cde
";

echo $c . "abc
";

//字符串转换成数值

$foo = 1 + "10.5";

echo $foo . "
";

$foo = 1 + "-1.3e3";

echo $foo ."
";

$foo = 1 + "bob-1.3e3";

echo $foo ."
";

$foo = 1 + "bob3";

echo $foo ."
";

$foo = 1 + "10 Small Pigs";

echo $foo ."
";

$foo = 4 + "10.2 Little Piggies";

echo $foo ."
";

$foo = "10.0 pigs " + 1;

echo $foo ."
";

$foo = "10.0 pigs " + 1.0;

echo $foo ."
";

$foo = 1 + "010";

echo $foo ."
";

$foo = 1 + "0x10";

echo $foo ."
";

$foo = 1 + "\x10";

echo $foo ."
";

$bar = 1 + "\x35"; //0x35 is ASCII for '5'

echo $foo ."
";

$foo = 1 + "0x\x41\x31"; //0x41 is ASCII 'A'; 0x31 is '1'

echo $foo ."
";

?>

2.2.4 PHP中的预订义变量

echo '提交方法为:'. $REQUEST_METHOD;

echo '
网络协议为:' .$SERVER_PROTOCOL;

?>

echo '主机名称:'.$HTTP_SERVER_VARS['HTTP_HOST'];

echo '
服务器根路径:'.$HTTP_SERVER_VARS['DOCUMENT_ROOT'];

?>

echo '当前执行脚本文件:'.$_SERVER['PHP_SELF'];

echo '
当前执行脚本文件绝对路径:'.$_SERVER['SCRIPT_FILENAME'];

?>

2.2.5 变量的引用

$myName="little";

$YourName=&$myName; //引用变量

$myName="littlePig
";

print($YourName);

$YourName="littleCat
";

print($myName);

?>

2.2.6 变量的变量

$myStr="myName"; //设定变量

$$myStr="Marry"; //设定变量的变量即$$myStr

echo $myStr; //输出变量

echo "
";

echo $$myStr; //输出变量的变量

echo "
";

echo $myName; //直接输出$myName和使用$$mystr结果一样

echo "
";

$myStr="yourName";

if (!isset($$myStr))

echo '$$myStr变量不存在呢';

?>

2.2.7 常量

define("CONSTANT", "Hello world\n");

echo CONSTANT . "
"; // 输出"Hello world."

echo Constant . "
"; // 输出"Constant" ,表示没有该常量

define("GREETING", "Hello you\n", true);

echo GREETING. "
"; // 输出"Hello you."

echo Greeting. "
"; // 输出"Hello you.",因为设定大小写不敏感

define("MAXSIZE", "100\n");

echo MAXSIZE; //输出

echo constant("MAXSIZE"). "
"; // 输出

echo(defined("ONE")). "
";

define("ONE","Hello,One");

echo(defined("ONE")). "
"; //如果定义返回True,使用echo输出显示

?>

echo "程序当前行:". __LINE__;

echo "
操作系统:".PHP_OS;

echo "
PHP版本:" .PHP_VERSION

?>

2.3 PHP的运算符

2.3.1 算术运算符

$ONE= 1;

$TWO= 2;

$TREE= 3;

echo $ONE+$TWO . "
"; //加

echo $ONE-$TWO . "
"; //减

echo $ONE*$TWO . "
"; //乘

echo $ONE/$TWO . "
"; //除

echo $TREE%$TWO. "
"; //取余数

?>

2.3.2 赋值运算符

$a= 2;

$a +=3; //$a=$a+3,值为

echo $a . "
";

$a -=3; //$a=$a-3,值为

echo $a . "
";

$a *=3; //$a=$a*3,值为

echo $a . "
";

$a /=3; //$a=$a/3,值为

echo $a . "
";

?>

2.3.3 位运算符

$a= 7;

$b= 14;

$myVal= $a & $b; //位与

echo $myVal. "
";

$myVal=$a | $b; //位或

echo $myVal. "
";

$myVal= $a ^ $b; //位异或

echo $myVal. "
";

$myVal= ~$a; //为取反

echo $myVal. "
";

?>

2.3.4 三元运算符

2.3.5 比较运算符

echo("10小于吗:" . ((10<10)?"True":"False") . "
");

echo("10小于等于吗:" . ((10<=10)?"True":"False") . "
");

echo("10大于吗:" . ((10>10)?"True":"False") . "
");

echo("10大于等于吗:" . ((10>=10)?"True":"False") . "
");

echo("10等于吗:" . ((10==10)?"True":"False") . "
");

echo("10不等于吗:" . ((10!=10)?"True":"False") . "
");

?>

2.3.6 字符串运算符

$a="Hello ";

$b="World";

$ab=$a . $b ."
"; //字符串连接符号.

echo $ab;

$a="some";

$a .="thing" . "
"; //赋值运算符.=

echo $a;

$a="24 five 6" + 6;

echo $a . "
";

$a="24five 6" + 6;

echo $a . "
";

$a="five 6" + 6;

echo $a . "
";

$a="24 five" . 6;

echo $a . "
";

$a="24five" . 6;

echo $a . "
";

?>

2.3.7 递增和递减运算符

$a=20;

echo "a++:" . $a++ ."
"; //后加

echo "变量a的新值:" . $a ."
";

$a=20; //重新赋值

echo "++a:" . ++$a ."
"; //先加

echo "变量a的新值:" . $a ."
";

$a=20; //重新赋值

echo "a--:" . $a-- ."
"; //后减

echo "变量a的新值:" . $a ."
";

$a=20; //重新赋值

echo "--a:" . --$a ."
"; //先减

echo "变量a的新值:" . $a ."
";

?>

2.3.8 逻辑运算符

2.3.9 运算符优先级

2.4 表达式

2.5 控制语句

2.5.1 条件语句

$achievement=91;

if ($achievement<60)

echo "你不及格";

elseif ($achievement>=60 && $achievement<70)

echo "你刚刚及格了";

elseif ($achievement>=70 && $achievement<80)

echo "你得了良好";

elseif ($achievement>=80 && $achievement<90)

echo "你很优秀哦!";

else

echo "你兼职太棒了!"

?>

switch (date("D")) {

case "Mon":

echo "今天星期一";

break;

case "Tue":

echo "今天星期二";

break;

case "Wed":

echo "今天星期三";

break;

case "Thu":

echo "今天星期四";

break;

case "Fri":

echo "今天星期五";

break;

default:

echo "今天放假";

break;

}

?>

2.5.2 循环语句

/* 应用,每个条件都有*/

for ($i = 1; $i <= 10; $i++) {

print $i. "-";

/* 应用,省略第个表达式*/

print "
";

for ($i = 1; ; $i++) {

if ($i > 10) {

break;

}

print $i. "-";

}

print "
";

/* 应用,省略个表达式*/

$i = 1;

for (;;) {

if ($i > 10) {

break;

}

print $i. "-";

$i++;

}

print "
";

/* 应用*/

for ($i = 1; $i <= 10; print $i. "-", $i++);

print "
";

/* 应用 */

for ($i = 1; $i <= 10; $i++) :print $i;print "-";endfor;

?>

/* 应用*/

$i = 1;

while ($i <= 10) {

print $i++ . "-";

}

print "
";

/* 应用*/

$i = 1;

while ($i <= 10):

print $i . "-";

$i++;

endwhile;

print "
";

/* 应用*/

$i = 1;

while ($i<20):

print $i . "-";

$i++;

if ($i>10) break;

endwhile;

?>

2.5.3 break和continue语句

$i = 0;

while (++$i) {

switch ($i) {

case 5:

echo "At 5
\n";

break 1; /* 只跳出switch循环*/

case 10:

echo "At 10; quitting
\n";

break 2; /* 跳出switch和while循环*/

default:

break;

}

}

?>

$i=0;

while ($i++<5) {

if ($i==2) { // 跳出,也就是不会输出i am 2

continue;

}

echo "i am $i
";

}

$i = 0;

while ($i++ < 5) {

echo "外层
\n";

while (1) {

echo " 中间层
\n";

while (1) {

echo " 内层
\n";

$i=6;

continue 3;

}

//因为每次到内层的时候,就跳到第一层,不会被执行

echo "我永远不会被输出的~~.
\n";

}

echo "我也是不会被输出的~~.
\n";

}

?>

2.6 数组

2.6.1 数组类型

枚举数组

关联数组

多维数组

$student=array("0"=>array("name"=>"James","sex"=>"male","age"=>"28"),

"1"=>array("name"=>"John","sex"=>"male","age"=>"25"),

"2"=>array("name"=>"Susan","sex"=>"female","age"=>"24"));

Print $student[2][age]

?>

2.6.2 数组初始化

使用数组标识符

2.6.3 数组的应用

// 创建一个简单的数组

$array = array(1, 2, 3, 4, 5);

print_r($array);

echo "
";

// 现在删除其中的所有单元,但保持数组本身的结构

foreach ($array as $i => $value) {

unset($array[$i]);

}

print_r($array);

echo "
";

// 添加一个单元(注意新的键名是5,而不是你可能以为的0)

$array[] = 6;

print_r($array);

// 重新索引:

$array = array_values($array);

$array[] = 7;

print_r($array);

?>

2.7 函数

2.7.1 内置函数

2.7.2 自定义函数

2.7.3 函数变量的作用域

2.8 日期和时间处理

2.8.1 获取日期和时间

2.8.2 使用getdate函数获得日期信息

2.8.3 使用mktime函数取得一个日期的时间戳

人气教程排行