您的位置:首页 > 编程语言 > PHP开发

PHP学习笔记(二)

2015-06-01 00:00 225 查看
摘要: 个人学习笔记

启动服务器。看书练习。整理下思路。
一 向浏览器输出数据。
1 print()语句, 记事本中输入以下代码,存为demo01.php ,

/*
这是第一个程序。
*/
<?php
print("<p>I love PHP</p>");//带了html段落标签
print("<br />I love PHP");//<br/>换行,不带html段落标签
?>

浏览器中地址输入http://localhost:81/demo01.php 回车,浏览器显示 两行 I love PHP .php单行注释可用“//”。多行注释使用“/* ... */”

2 echo()语句,在 echo语句中,可以同时输出多个字符串, print 函数只能打印出简单类型变量的值(如int,string)。现阶段对我而言都可以互相代替。

<?php
echo "I love you";
?>

3 printf()语句,可以打印复杂类型变量的值,如对象,数组。有一种熟悉感,后来想起很久很久以前,在C语言课上写过。

<?php
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 变量的作用阈,局部变量、函数参数、全局变量、静态变量。
不搬手册,记录自己最初容易混淆的:

<?php
function addit01(){
static $somevar01;
$somevar01++;
echo "somevar is $somevar01 <br/>";
}
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官方的说法是:混合++和+ 会产生未知的行为。这个需要学习下编译原理。
解决办法是少用甚至不用++;特别是不要混合加号和减号使用,造以免成他人理解困难。大多数项目的完成是要合作的。
另:

<?php
$i = 0;
$j = $i++ + ++$i;
$a = --$i + $i--;
echo $i,'<br/>';//0
echo $j,'<br/>';//2
echo $a,'<br/>';//2
?>


五 控制结构
1条件语句if、switch case
2循环语句while、for、foreach
练习-----过桥问题:一个人有10000块钱,过一座桥需要交路费,交费规则为,拥有资金大于50000时,收5%费用,当资金小于等于50000时,收取5000费用,问这个人能过几次桥?
代码:

<?php
for($a=100000,$b=0;$a>=5000;){
$b++;
if($a>50000){
$a = $a*0.95;
}else{
$a -= 5000;
}
echo "这个人第",$b,"次过桥,剩下",$a,"块钱。<br/>";

}
?>

结果:23次过桥,剩下3767.497911553块钱。

php九九乘法表:

<?php
for($i=1;$i<=9;$i++){

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

printf("$j*$i".' ='.'%2d'.'  ',$i*$j);
//或者以下:
/*
if($j*$i<10){       //加判断是为了对齐,更好的是直接网页画表格
echo "$j*$i".'=0'.$i*$j.' ';
}else{
echo "$j*$i".'='.$i*$j.' ';
}
*/
}
echo '<br/>';
}

?>

输出结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php