数字或数值数据在PHP中一般就两种double和int。
PHP是一种松散类型的脚本语言,要注意类型转换的方式。
<?php
$a = '5';
//数字的字符串也是数字,参与数学运算当数字处理
echo is_numeric ( $a ); //1
echo '<br/>';
echo 7 + $a; //12
echo '<br/>';
echo '7' + $a; //12
echo '<br/>';
//用.连接后就按字符串处理
echo '7' . $a; //75
?>
二.随机数
Rand()函数是libc中定义的一个随机函数的简单包装器。
Mt_rand()函数是一个很好的代替实现。
<?php
$a = rand(0,10);
echo $a;
echo '<br/>';
echo getrandmax();
echo '<br/>';
$b = mt_rand(0,10);
echo $b;
echo '<br/>';
echo mt_getrandmax();
echo '<br/>';
?>
output
1
32767
6
2147483647
三.格式化数据
<?php
$a = 12345.6789;
//用于设置保留多少位小数点
echo number_format($a,2);
echo '<br/>';
//也可以改变默认小数点的符号表示和千分位的表示符号
echo number_format($a,2,'#','*')
?>
Output
12,345.68
12*345#68
四.数学函数
函数
功能
Abs()
取绝对值
Floor()
舍去法取整
Ceil()
进一法取整
Round()
四舍五入
Min()
求最小值或数组中最小值
Max()
求最大值或数组中最大值
<?php
$a = -123456.789;
$b = array (1, 2, 3, 4 );
echo abs ( $a );
echo '<br/>';
echo floor ( $a );
echo '<br>';
echo ceil ( $a );
echo '<br>';
echo round ( $a );
echo '<br>';
echo min ( $b );
echo '<br>';
echo max ( $b );
?>
output
123456.789
-123457
-123456
-123457
1
4
双引号与单引号的区别:
1.双引号的使用:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?php
//双引号可以解析变量和转义字符
$username = "jack";
echo "his name is $username!";
echo "<br/>";
$username = "小东";
//如果是英文的感叹号会正常解析变量
echo "他的名字是$username!";//他的名字是小东!
echo "<br/>";
//如果是中文的感叹号则会解析不出来
echo "他的名字是$username!";//他的名字是
echo "<br/>";
//转义字符在这里虽然被解析出来了,但是\n是在源代码里换行
//浏览器显示只是一个字符的位置
echo "他的名字是$username,\n他今年20岁了";//他的名字是小东, 他今年20岁了
echo "<br/>";
//为了避免出现错误,推荐使用字符串连接的方式
echo "他的名字是".$username.",他今年20岁了";//他的名字是小东,他今年20岁了
?>
2.单引号的使用:
<?php
//单引号只是输出字符串字面值,
//不会解析变量和转义字符。
//也不会进行语法加亮提示
$username = 'anllin';
echo 'his name is $username,\n his age is 20.';
//output
//his name is $username,\n his age is 20.
?>
部分常用的转义字符
转义序列
描述
\n
换行符
\r
回车
\t
水平制表图
\\
反斜杠
\$
美元符
\”
双引号
二.操作符
<?php
//算术操作符
$a = 5;
$b = 3;
echo $a + $b;
echo '<br/>';
echo $a - $b;
echo '<br/>';
echo $a * $b;
echo '<br/>';
echo $a / $b;
echo '<br/>';
echo $a % $b;
?>
8
2
15
1.66666666667
2
<?php
//复合赋值操作符
$a = 5;
$b = 3;
echo $a += $b;
echo '<br/>';
echo $a -= $b;
echo '<br/>';
echo $a *= $b;
echo '<br/>';
echo $a /= $b;
echo '<br/>';
echo $a %= $b;
echo '<br/>';
echo $a .= $b;
?>
8
5
15
5
2
23
<?php
//递增递减运算符
$a = 5;
echo ++$a;
echo '<br/>';
echo $a++;
echo '<br/>';
echo --$a;
echo '<br/>';
echo $a--;
?>
6
6
6
6
<?php
$a = 5;
$b = 3;
$c = 5;
$d = '5';
echo $a == $c;
echo '<br/>';
echo $a === $c;
echo '<br/>';
echo $a == $d;
echo '<br/>';
echo $a != $b;
echo '<br/>';
echo $a !== $d;
echo '<br/>';
echo $a != $b;
echo '<br/>';
echo $a > $b;
echo '<br/>';
echo $b < $c;
echo '<br/>';
echo $a >= $c;
echo '<br/>';
echo $a <= $c;
?>
1
1
1
1
1
1
1
1
1
1
<?php
$a = false;
echo ! $a;
echo '<br/>';
$b = 5;
$c = 3;
echo $b > 0 && $c > 0;
echo '<br/>';
echo $b > 0 and $c > 0;
echo '<br/>';
echo $b != 0 || $c != 0;
echo '<br/>';
echo $b != 0 or $c != 0;
echo '<br/>';
?>
1
1
1
1
1
运算符”and”和”or”比&&和||的优先级要低
三元操作符
<?php
$a = 100;
echo $a > 60 ? 'success':'fail';
?>
success
错误抑制操作符
<?php
echo @(100/0);
?>
三.控制结构
If条件判断语句
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<?php
$a = 10;
if ($a > 0)
{
echo '整数大于零';
}
echo '<br/>';
if ($a > 0)
{
echo '整数大于零';
}
else if($a < 0)
{
echo '整数小于零';
}
else
{
echo '整数等于零';
}
?>
Switch语句
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<?php
$role = 'admin';
switch ($role)
{
case 'admin' :
echo '管理员';
break;
case 'user' :
echo '普通用户';
break;
case 'guest' :
echo '游客';
break;
default :
echo '游客';
break;
}
?>
While循环语句
<?php
$a = 10;
while ( $a > 0 )
{
echo $a --;
echo '<br>';
}
?>
Do while 循环语句
<?php
$a = 10;
do
{
echo $a --;
echo '<br/>';
}
while ( $a > 0 )
?>
For循环语句
<?php
for($a = 0; $a < 10; $a++)
{
echo $a;
echo '<br/>';
}
?>
Break语句
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<?php
for($a = 0; $a < 10; $a++)
{
echo $a;
echo '<br/>';
if($a ==5)
{
break;//终止循环,但执行循环后面的语句
}
}
echo '循环结束';
?>
Exit语句
<?php
for($a = 0; $a < 10; $a++)
{
echo $a;
echo '<br/>';
if($a ==5)
{
exit;//直接退出,循环后面的语句不执行
}
}
echo '循环结束';
?>
Continue语句
<?php
for($a = 0; $a < 10; $a++)
{
echo $a;
echo '<br/>';
if($a ==5)
{
continue;//结束本次循环,继续下次循环,循环后面的语句依然执行
}
}
echo '循环结束';
?>
推荐使用标准风格或简短风格
<?php
//标准风格
echo 'Hello World!';
?>
<?
//简短风格
echo 'Hello World!';
?>
<script language="php">
//script风格
echo 'Hello World!';
</script>
二.代码注释的四种方式
<?php
//单行注释
/*
* 多行注释
*/
#shell风格注释
/**
* PHPdoc风格注释
*/
?>
三.向浏览器输出字符串的几种方法
<?php
/*
* echo函数的功能:向浏览器输出字符串
* 函数返回值:void
*/
echo 'echo function!';
echo('<br/>');
/*
* echo函数的功能:向浏览器输出字符串
* 函数返回值:int
*/
print 'print function';
echo('<br/>');
echo print 'echo value of print function. ';
echo('<br/>');
/*
* printf函数的功能:向浏览器输出字符串
* 函数返回值:所打印字符串的长度
*/
printf("a weekend have %d days",7);
echo('<br/>');
echo printf("a weekend have %d days",7);
echo('<br/>');
/*
* sprintf函数的功能:把字符串保存到内存中
* 函数返回值:保存的字符串本身
*/
sprintf('sprintf function');
echo('<br/>');
echo sprintf('sprintf function');
echo('<br/>');
?>
输出结果:
echo function test!
print function test.
print function test. 1
a weekend have 7 days
a weekend have 7 days. 23
sprintf function test
常用类型指示符
类型
描述
%b
整数,显示为二进制
%c
整数,显示为ASCII字符
%d
整数,显示为有符号十进制数
%f
浮点数,显示为浮点数
%o
整数,显示为八进制数
%s
字符串,显示为字符串
%u
整数,显示为无符号十进制数
%x
整数,显示为小写的十六进制数
%X
整数,显示为大写的十六进制数
四.标识符与变量1.标识符的基本规则:
1) 标识符可以是任意长度,而且可以由任何字母、数字、下划线组成。
2) 标识符不能以数字开始。
3) 在PHP中,标识符是区分大小写的。
4) 一个变量名称可以与一个函数名称相同。
2.变量赋值:
<?php
$sum = 0;
$total = 1.22;
$sum = $total;
echo $sum; //1.22
?>
3.变量的数据类型:
基本数据类型
类型
名称
Integer
整数
Float
单精度浮点数
Double
又精度浮点数
String
字符串
Boolean
布尔
Array
数组
Object
对象
4.类型强度PHP是动态语言,是一种非常弱的类型语言,在程序运行时,可以动态的改变变量的类型。
5.类型转换:
隐式类型转换:
<?php
$sum = 0;
$total = 1.22;
$sum = $total;
echo gettype ( $sum );//double
?>
显式类型转换:
<?php
$sum = 100;
$total = ( string ) $sum;
echo gettype ( $sum );//string
?>
使用settype()函数进行类型转换,返回值1表示成功,空表示失败。
<?php
$sum = 58;
echo settype ( $sum, "float" );
echo $sum; //58
echo gettype ( $sum ); //double
?>
6.检测变量的函数:
函数
功能
返回值
Gettype()
获取变量的类型
基本数据类型中的其中一种
Settype()
设置变量的类型
Bool(1:true 0:false(or ''))
Isset()
用来判断一个变量是否存在
Bool
Unset()
释放给定的变量
Void
Empty()
检测一个变量的值是否为空
Bool
is_int() is_integer()
检测变量是否是整数
Bool
Is_string()
检测变量是否是字符串
bool
Is_numeric
检测变量是否为数字或数字字符串
bool
Is_null
检测变量是否为 NULL
bool
Intval()
获取变量的整数值
int
Isset()的基本使用<?php
$a = 10;
echo isset ( $a );//1
?>
<?php
echo isset ( $b );//''
?>
Usset()的基本使用
<?php
$a = 10;
unset($a);
echo isset ( $a );//''
?>
Empty()的基本使用
<?php
$a= 5;
$b =1;
$c = 0;
$d = "";
$e = array();
$f = null;
$g = "0";
$h = false;
echo empty($a);//''(false)
echo '<br/>';
echo empty($b);//''(false)
echo '<br/>';
echo empty($c);//1(true)
echo '<br/>';
echo empty($d);//1(true)
echo '<br/>';
echo empty($e);//1(true)
echo '<br/>';
echo empty($f);//1(true)
echo '<br/>';
echo empty($g);//1(true)
echo '<br/>';
echo empty($h);//1(true)
echo '<br/>';
echo empty($f);//1(true)
?>
is_int()的基本使用。类似的函数有:is_float()、is_double()、is_string()、is_bool()、is_array()、is_null()、is_long()、is_object()、is_resource()、is_numeric()、is_real()等。
<?php
$a = 11;
$b = 1.23;
$c = 3.1415926;
$d = "hello";
$e = false;
$f = array();
$g = null;
echo is_int($a);//1
echo '<br/>';
echo is_float($b);//1
echo '<br/>';
echo is_double($c);//1
echo '<br/>';
echo is_string($d);//1
echo '<br/>';
echo is_bool($e);//1
echo '<br/>';
echo is_array($f);//1
echo '<br/>';
echo is_null($g);//1
echo '<br/>';
echo is_numeric($a);//1
?>
Intval()函数的基本使用。类似的函数为:floatval()、strval()
<?php
$a = 22.23;
echo gettype($a);//double
echo '<br/>';
$b = intval($a);//类型转换后不改变$a原来的类型
echo gettype($a);//double
echo '<br/>';
?>
<?php
$a = 22.23;
echo gettype($a);//double
echo '<br/>';
settype($a,"integer");//类型转换后会改变$aa原来的类型
echo gettype($a);//integer
echo '<br/>';
?>
7.变量的作用域
超级全局变量
变量名
作用
$GLOBALS
所有全局变量数组
$_SERVER
服务器环境变量数组
$_GET
通过GET方式传递给该脚本的变量数组
$_POST
通过POST方式传递给该脚本的变量数组
$_COOKIE
COOKIE变量数组
$_FILES
与文件上传相关的变量数组
$_ENV
环境变量数组
$_REQUEST
所用用户输入的变量数组
$_SESSION
会话变量数组
8.常量
一旦被定义之后,就不能再次更改。
<?php
define("TOTAL",100);
echo TOTAL;//100
echo '<br/>';
define("TOTAL",200);
echo TOTAL;//100
?>
查看PHP预定义的常量的方法
<?php
phpinfo();
?>
引用PHP预定义常量的方法
<?php
echo $_SERVER["SERVER_NAME"];//localhost
echo '<br/>';
echo $_SERVER["SERVER_PORT"];//8090
echo '<br/>';
echo $_SERVER["DOCUMENT_ROOT"];//D:/AppServ/www
echo '<br/>';
?>
五.访问表单变量
常见的三种方式
<?php
echo $username;//简短风格,容易与变量名混淆,不推荐使用。
echo '<br/>';
echo $_POST['username'];//中等风格,4.1.0版后支持,推荐
echo '<br/>';
echo $HTTP_POST_VARS['username'];//冗长风格,已过时,将来可能会被剔除
?>
Posttest.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>获取表单数据的方式</title>
</head>
<body>
<form method="POST" action="/blog_article/demo10.html">
username:<input type="text" name="username" />
<input type="submit" value="submit" />
</form>
</body>
</html>
六.字符串连接用.
<?php
echo "the student name is :".$_POST['username'];
echo "<br/>";
echo "welcome to "."school";
?>