启动服务器。看书练习。整理下思路。
一 向浏览器输出数据。
1 print()语句, 记事本中输入以下代码,存为demo01.php ,
/*
这是第一个程序。
*/
I love PHP");//带了html段落标签
print("
I love PHP");//
换行,不带html段落标签
?>
浏览器中地址输入http://localhost:81/demo01.php 回车,浏览器显示 两行 I love PHP .php单行注释可用“//”。多行注释使用“/* ... */”
2 echo()语句,在 echo语句中,可以同时输出多个字符串, print 函数只能打印出简单类型变量的值(如int,string)。现阶段对我而言都可以互相代替。
echo "I love you";
?>
3 printf()语句,可以打印复杂类型变量的值,如对象,数组。有一种熟悉感,后来想起很久很久以前,在C语言课上写过。
printf("%d bottles of tonic water cost $%f" , 100,44.20);
?>
浏览器输出:100 bottles of tonic water cost $44.200000 ;%d是一个类型指示符的占位符,d指示将在这个位置上放置一个整数值。%f放置浮点数。
二 PHP支持的数据类型。
1 标量数据类型:布尔型,整型,浮点型,字符串
2 复合数据类型:数组,对象。
看书时也看在线手册,尚有两种特殊类型,资源型(resource)和无类型(null),共8种,还有一些伪类型,如混合型(mixed)、数字类型(number)、回调类型(callback),但是看不懂,先留记号。
3 类型间的强制转换和自动转换。注意自动转换字符串和整数、浮点等的转换,注意类型转换时的精度丢失问题。
4 获取类型函数gettype():string gettype(mixed var)
5 转换类型函数settype():boolean setttype(mixed var,string type)
6 类型标识函数is_array()、is_bool()、is_float()、is_integer()、is_null()、is_numeric()、is_object()、is_resource、is_scalar()、is_string();
7标识符可以由一个或多个字符组成,必须以字母或下划线开头,区分大小写,不能与PHP预定义关键字相同,可以是任意长度。
8 双引号里的字符变量能解析,单引号不解析。
三 变量
1 变量总是以美元符$开头,然后是变量名。变量是区分大小写的。
2 变量的作用阈,局部变量、函数参数、全局变量、静态变量。
不搬手册,记录自己最初容易混淆的:
";
}
addit01();
addit01();
addit01();
addit01();
?>
输出是:
somevar is 1
somevar is 2
somevar is 3
somevar is 4
静态作用域对于递归函数很有用。
四 常量 常量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。
表达式是 PHP 最重要的基石。在 PHP 中,几乎所写的任何东西都是一个表达式。简单但却最精确的定义一个表达式的方式就是“任何有值的东西”。
运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。
取模运算,结果的正负取决于被除数。
手册总结的挺好,只记录自己没弄明白的:
一
$a=1;
echo $a+$a++; //3
与
$a = 1;
echo $a + $a + $a++; //3
输出都是3,
PHP官方的说法是:混合++和+ 会产生未知的行为。这个需要学习下编译原理。
解决办法是少用甚至不用++;特别是不要混合加号和减号使用,造以免成他人理解困难。大多数项目的完成是要合作的。
另:
';//0
echo $j,'
';//2
echo $a,'
';//2
?>
五 控制结构
1条件语句if、switch case
2循环语句while、for、foreach
练习-----过桥问题:一个人有10000块钱,过一座桥需要交路费,交费规则为,拥有资金大于50000时,收5%费用,当资金小于等于50000时,收取5000费用,问这个人能过几次桥?
代码:
=5000;){
$b++;
if($a>50000){
$a = $a*0.95;
}else{
$a -= 5000;
}
echo "这个人第",$b,"次过桥,剩下",$a,"块钱。
";
}
?>
结果:23次过桥,剩下3767.497911553块钱。
php九九乘法表:
';
}
?>
输出结果: