PHP与MYSQL动态网站开发笔记-2.PHP基础语法
1.PHP基本语法
1、html 和 php 混编
2、一个语句以 ; (分号结束)
3、如何定义一个变量,和变量的使用
4、变量的数据类型不是固定不变的
5、php是弱数据类型编程语言,不需要事先定义类型,变量类型与赋值相关
$a = 100;
$a = “abc”;
6.php 的变量名,以字母或者下划线开头,不能以数字或特殊字符开头,区分大小写。
2.基本数据类型
- php基本数据类型(标量类型)
- php复合数据类型
- 特殊数据类型
■ 整型
整数类型可以表示一个整数,比如:
$ts=1; $ts=-12;
■ 布尔类型
布尔型可以表示真或者假,比如:
$ts=true; $ts=false;
■ 小数类型
小数类型可以表示一个小数(float,double)
$ts=1.12;
$ts=3.1415926
■ 字符串类型
字符串类型可以表示一个字符串
$ts=“我是一个好人 hello”
3.定义变量
什么是定义变量?
$a=1.21; 表示定义了一个变量,表示一个小数类型的小数,变量名是$a , 变量名命名的规范(一般数字,字母,_组成但是不要以数字开头, 变量名字不能有特殊字符比如- .@#$%等)
整型
-
整型值可以使用十进制,十六进制0x打头 或 八进制 0打头 表示
$a = 1234; // 十进制数
$a = -123; // 负数
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26) -
php不支持无符号整数,即php中的整数都是有符号的.
-
php 最大值 PHP_INT_MAX 表示 (最大的整数占4个字节,2^31-1)
布尔型
-
要指定一个布尔值,使用关键字 TRUE 或 FALSE,不区分大小写
-
以下值都会被当做false对待
布尔值
FALSE 自身
整型值 0
(零)
浮点型值 0.0
(零)
空
, 以及 字符串 "0"
不包括任何元素的空数组
不包括任何成员变量的对象(仅PHP 4.0 适用)
特殊类型 NULL
从空标记生成的 SimpleXML 对象
浮点型
1.浮点数(也叫双精度数或实数)
2.案例
<?php
$a = 1.234 ;
$b = 1.2e3 ;
$c = 7E-10 ;
echo $c;
?>
字符串
-
一个字符串 就是由一系列的字符组成,因此:
一个字母 占一个字节
一个数字 占一个字节
汉字(gb2312/gbk) 占两个字节
汉字(utf-8) 占三个字节
-
字符串常见的定义方法
- heredoc(定界标识符)字符串的说明
-
可以对变量进行解析
-
定界标识符全部大写
-
起始定界标识符后每半年有任何内容,包括空格
-
结束定界标识符必须换行并定格
4.数据类型转换
自动转换
<?php
$a = 90;
echo $a.'<br/>’;
$b = 8.90;
echo $b;
$res=$a + $b;
var_dump($res);
?>
-
PHP变量使用的上下文在运行时决定的,可以通过var_dump($变量1,$变量2,...)方式来显示其类型
-
在运算的时候,数据类型会向高精度转换 bool<int<float
5.表达式
表达式是 PHP 最重要的基石。在 PHP 中,几乎所写的任何东西都是一个表达式。最精确的定义一个表达式的方式就是“任何有值的东西”。
算术运算符
①+ 加
②- 减
③* 乘
④/ 除
⑤% 取模:% 运算可以得到两个数相除的余数。
编写一个php程序判断两个数是否能够整除?
$num1 = 80;
$num2 = 9;
If ( $num1 % $num2 == 0)
{
echo 'num1能被num2整除~’;
}
else
{
echo "num1不能被num2整除.";
}
运算符
-
比较运算符
问输出什么
$a = 90;
$b = 90;
if($a == $b){ echo “ok1”;}
$b--;
if($a > $b){ echo “ok2”;}
if($a >= $b){ echo “ok3”;}
请问输出什么:
-
字符串运算符
两个字符串,使用连接运算符(“.”)
<?php
$a = "Hello ";
$b = $a . "World!";
echo $b . "<br>";
$a = "Hello ";
$a .= "World!";
echo $a;
?>
- 三元运算符
表达式 (expr1) ? (expr2) : (expr3)
规则:在 expr1 求值为 TRUE 时的值为 expr2,
在 expr1 求值为 FALSE 时的值为 expr3
$a = 1==1?45:89;
echo $a;
练习
写出如下程序的输出结果
6.三大流程控制
顺序控制
程序顺序执行
$a = 7;
echo “a=”. $a;
echo “hello!”;
$a++;
echo “a=”. $a;
echo “O(∩_∩)O”;
$a++;
echo “a=” . $a
分支控制
分支控制有三种: ①单分支 ②双分支 ③多分支
-
单分支语法:
if(条件表达式){
语句块;
}
-
双分支语法:
-
if(条件表达式){
语句;
}else{
语句;}
多分支
-
if(条件表达式){
语句;
}else if条件表达式){
语句;
}else if(条件表达式){
语句;
}else{语句;}
-
$a="1";
switch($a){
case 1:
echo 'hello1';
break;
case 2:
echo 'hello2';
break;
default:
echo 'default';
}
-
1.case后若缺失break,则继续执行下一个case中的语句;
2.php 中 非0即为true,0为false;
3. default放在前或后,不影响case的匹配。
循环控制
-
For循环基本语法结构
for(循环初值**; **循环的条件****; 步长){
//n多语句;
}
-
while循环
说明: while循环是先判断再执行语句
使用while循环输出10句 “hello world! “
$i = 0; while($i < 10 ) { echo "hello, world! " ; $i++; }
-
do while循环
说明:do while循环是先执行,再判断,输出**10句 **"hello, world!"
$i = 0; do{ echo "hello, world! " ; $i++; // $i = $i + 1; } while($i < 10 )
请编写一个程序,$n 表示层数,打印出金字塔一半。
-
break 语句
break 结束当前 **for ** , **while ** , do-while 或者 switch 结构的执行 。
break 可以接受一个可选的数字参数来决定跳出几重循环。
-
continue 语句
- 跳过本次循环中剩余的代码并在条件为真时开始执行下一次循环,continue可接受一个可选的数字参数来决定跳过几重循环到循环结尾
7.常量
1.定义常量前面不需要 $
2.常量一旦定义,则不能修改其值
3.常量在定义的时候,就需要它赋初值.
4.常量可以通过 define 或者 const
5.常量的名称,一般全部大写,用下划线间隔
6.什么时候需要使用常量?程序中不希望某个值变化,考虑使用常量,比如圆周率,税率....
<?php
//第一种方法
define("TAX_RATE",0.08);
echo TAX_RATE;
//第二种方法(php5.3)
const TAX_RATE2=0.1;
echo '-'.TAX_RATE2;
?>