第一篇 使用PHP
时间:2007-12-13 来源:aport
第1章 PHP快速入门
1.1 创建订单表单
"processorder.php" method="post"> Item Quantity Tires input type="text" name="tireqty" size="3" maxlength="3"> Oil input type="text" name="oilqty" size="3" maxlength="3"> Spark Plugs input type="text" name="sparkqty" size="3" maxlength="3"> How did you find Bob's? I'm a regular customer TV advertising Phone directory Word of mouth input type="submit" value="Submit Order">
代码中包含:一个五行表格、三个input输入文本框、一个select单选单、一个input提交按钮。
action为processorder.php,method为post.
1.2 在html中嵌入PHP,使其成为简单的PHP页面。
Bob's Auto Parts - Order ResultsBob's Auto PartsOrder Resultsecho 'Order processed.';?>
这个页面被保存为processorder.php,用来处理orderform.html的请求。
1.3 使用PHP标记
PHP的四种标记风格:
1 XML风格
这是个推荐的风格.
2 简短风格
3 SCRIPT风格
echo "hello world";
4 asp 风格
1.35 注释
C风格的注释
/* 1 2 3 */
C++风格的注释
echo "hello world";// 123
SHELL 风格的注释
echo "hello world"; # 123
1.4 添加动态内容
在processorder.php中添加:
echo date('H:i,jS F');
注:H是24小时中的小时值;i为分钟;j是该月的日期;S表示顺序后缀;F为月份的全称.
1.5 访问表单变量
访问表单变量的三种方式:
$order
$_POST['order'] //这是推荐的风格
$HTTP_POST_VARS['order']
在processorder.php添加PHP语句来处理表单传递的值.
// create short variable names $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; $find = $_POST['find'];echo $tireqty.'tires';echo $oilqty.'oil';echo $sparkqty.'spark plugs';echo $find.'is your selected';?>
1.5 字符串的连接 变量和文本
.为字符串连接符
echo $tireqty.'tires';
heredoc文档
echo 标示符:不能以数字开始,可由字母、数字、下划线组成;区分大小写
1.7 创建用户声明的变量
变量可以不用提前声明,赋值时你才创建了这个变量.
1.8 变量的赋值
$totalqty = 0;
可将一个变量赋值给另一个变量
$totalmount = $totalqty;
1.9 PHP的数据类型
Integer Float String Boolean Array Object
NULL resource(代表外部资源)
PHP是一种非常弱的类型语言.变量的类型取决于所赋值.
类型转换: $total = (int)$totalqty;
可变变量:
$varname = 'tireqty'; $$varname = 5; 等价于 $tireqty = 5;
1.10 声明和使用常量
define('TIREPRICE',100);
习惯上常量都是由大写字母来组成的.引用常量不需要在前面加$
1.11 变量的作用域
内置超级变量可以在脚本的任何地方使用和可见
常量,一旦被声明,可以全局可见
在一个脚本中声明的全局变量在整个脚本是可见的
在函数内部使用的变量声明为全局变量时,其名称要与全局变量一致
在函数内部创建并被声明为静态的变量无法在函数外部可见,但在函数的多次运行中是保持该值
在函数内部创建的变量是函数本地的
$_GLOBALS 所有全局变更数组
$_SERVER 服务器环境变量数组
$_GET 通过GET得到的变量
$_POST 通过POST得到的变量
$_COOKIE COOKIE变量数组
$_FILES 与文件上载相关的数组
$_ENV 环境变量数组
$_REQUEST 所有用户输入的变量内容,包括$_GET $_POST $_COOKIE
$_SESSION 会话变量数组
1.12 使用操作符
算术操作符:+ - * / %
字符串操作符: .
赋值操作符: = +=($a += $b 等价 $a = $a + $b) -=($a -= $b 等价 $a = $a - $b) *=($a *= $b 等价 $a = $a * $b) /=($a /= $b 等价 $a = $a / $b) %=($a %= $b 等价 $a = $a +% $b)
前置递增递减和后置递增递减: --$a ++$a $a-- $a++
引用:$b = &$a
比较操作符: ==(比较值的大小是否相等) ===(比较两者是否完全一样) != !== =
逻辑操作符:! && || and or
位操作符:
& 位与 | 位或 ~ 位非 ^位异或 << 左位移 >>右位移
三元操作符:condition ? value if true : value if false
错误抑制符:@
执行操作符:``
数组操作符: + 联合操作 ==等价操作 ===恒等 != 或者不等价 !==不恒等
类型操作符:instanceof
1.13
将如下加入PHP脚本:
$totalqty = 0;$totalqty = $tireqty + $oilqty + $sparkqty;echo 'Items ordered:'.$totalqty.'
';$totalamount = 0.00;define('TIREPRICE',100);define('OILPRICE',10);define('SPARKPRICE',4);$totalamount = $tireqty * TIEEPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE;echo 'Subtotal: $'.number_format($totalamount,2).'
';$taxrate = 0.10; // local sales tax is 10%$totalamount = $totalamount * (1 + $taxrate);echo 'Total including tax: $' .number_format($totalamount,2).'
';
1.14 操作符结合
print 右, = != === !== new ()不相关 ,其他为 左.
1.15使用可变函数
string gettype(mixed var);
int settype(mixed var,string type);
例如: $a = 56; echo gettype($a).'
'; settype($a,'double'); echo gettype($a).'
'; ?>
其他测试变量的函数:is_array() is_double() is_float() is_real
is_long() is_int() is_integer()
is_string() is_object() is_resource()
is_null() is_scalar() is_numeric() is_callable()
测试变量状态:boolean isset(mixed var);
void unset(mixed var);
boolean empty(mixed var);
变量的重解释:int intval(mixed var[,int base]);
float floatval(mixed var);
string strval(mixed var);
1.16 实现控制结构
条件结构和循环结构
1.17
条件判断
if语句的条件必须用()括起来.用{}组织代码块.elseif == else if
switch事例代码:
switch($find){ case 'a' : echo 'Regular customer.'; break; case 'b' : echo 'Customer referred by TV advert.'; break; case 'c' : echo 'Customer referred by phone directory.'; break; case 'd': echo 'Customer referred by word of mouth.'; break; default : echo 'We do not know how this customer found us.'; break;}
1.18 迭代实现重复动作
while (condition) expression ;
Distance Cost$distance = 50;while ($distance { echo "\n $distance\n"; echo " ". $distance / 10 ."\n\n"; $distance += 50;}?>
for (expression1;condition;expression2)
expression3;
for($distance = 50; $distance { echo "\n &distance\n"; echo "\n\n";}?>
do
expression;
while(condition);
1.9 从控制结构或者脚本中跳出
break:结束循环,从后面第一条语句执行
continue:结束本次循环,进行下一次循环
exit;结束本程序
1.1 创建订单表单
"processorder.php" method="post"> Item Quantity Tires input type="text" name="tireqty" size="3" maxlength="3"> Oil input type="text" name="oilqty" size="3" maxlength="3"> Spark Plugs input type="text" name="sparkqty" size="3" maxlength="3"> How did you find Bob's? I'm a regular customer TV advertising Phone directory Word of mouth input type="submit" value="Submit Order">
代码中包含:一个五行表格、三个input输入文本框、一个select单选单、一个input提交按钮。
action为processorder.php,method为post.
1.2 在html中嵌入PHP,使其成为简单的PHP页面。
Bob's Auto Parts - Order ResultsBob's Auto PartsOrder Resultsecho 'Order processed.';?>
这个页面被保存为processorder.php,用来处理orderform.html的请求。
1.3 使用PHP标记
PHP的四种标记风格:
1 XML风格
这是个推荐的风格.
2 简短风格
3 SCRIPT风格
echo "hello world";
4 asp 风格
1.35 注释
C风格的注释
/* 1 2 3 */
C++风格的注释
echo "hello world";// 123
SHELL 风格的注释
echo "hello world"; # 123
1.4 添加动态内容
在processorder.php中添加:
echo date('H:i,jS F');
注:H是24小时中的小时值;i为分钟;j是该月的日期;S表示顺序后缀;F为月份的全称.
1.5 访问表单变量
访问表单变量的三种方式:
$order
$_POST['order'] //这是推荐的风格
$HTTP_POST_VARS['order']
在processorder.php添加PHP语句来处理表单传递的值.
// create short variable names $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; $find = $_POST['find'];echo $tireqty.'tires';echo $oilqty.'oil';echo $sparkqty.'spark plugs';echo $find.'is your selected';?>
1.5 字符串的连接 变量和文本
.为字符串连接符
echo $tireqty.'tires';
heredoc文档
echo 标示符:不能以数字开始,可由字母、数字、下划线组成;区分大小写
1.7 创建用户声明的变量
变量可以不用提前声明,赋值时你才创建了这个变量.
1.8 变量的赋值
$totalqty = 0;
可将一个变量赋值给另一个变量
$totalmount = $totalqty;
1.9 PHP的数据类型
Integer Float String Boolean Array Object
NULL resource(代表外部资源)
PHP是一种非常弱的类型语言.变量的类型取决于所赋值.
类型转换: $total = (int)$totalqty;
可变变量:
$varname = 'tireqty'; $$varname = 5; 等价于 $tireqty = 5;
1.10 声明和使用常量
define('TIREPRICE',100);
习惯上常量都是由大写字母来组成的.引用常量不需要在前面加$
1.11 变量的作用域
内置超级变量可以在脚本的任何地方使用和可见
常量,一旦被声明,可以全局可见
在一个脚本中声明的全局变量在整个脚本是可见的
在函数内部使用的变量声明为全局变量时,其名称要与全局变量一致
在函数内部创建并被声明为静态的变量无法在函数外部可见,但在函数的多次运行中是保持该值
在函数内部创建的变量是函数本地的
$_GLOBALS 所有全局变更数组
$_SERVER 服务器环境变量数组
$_GET 通过GET得到的变量
$_POST 通过POST得到的变量
$_COOKIE COOKIE变量数组
$_FILES 与文件上载相关的数组
$_ENV 环境变量数组
$_REQUEST 所有用户输入的变量内容,包括$_GET $_POST $_COOKIE
$_SESSION 会话变量数组
1.12 使用操作符
算术操作符:+ - * / %
字符串操作符: .
赋值操作符: = +=($a += $b 等价 $a = $a + $b) -=($a -= $b 等价 $a = $a - $b) *=($a *= $b 等价 $a = $a * $b) /=($a /= $b 等价 $a = $a / $b) %=($a %= $b 等价 $a = $a +% $b)
前置递增递减和后置递增递减: --$a ++$a $a-- $a++
引用:$b = &$a
比较操作符: ==(比较值的大小是否相等) ===(比较两者是否完全一样) != !== =
逻辑操作符:! && || and or
位操作符:
& 位与 | 位或 ~ 位非 ^位异或 << 左位移 >>右位移
三元操作符:condition ? value if true : value if false
错误抑制符:@
执行操作符:``
数组操作符: + 联合操作 ==等价操作 ===恒等 != 或者不等价 !==不恒等
类型操作符:instanceof
1.13
将如下加入PHP脚本:
$totalqty = 0;$totalqty = $tireqty + $oilqty + $sparkqty;echo 'Items ordered:'.$totalqty.'
';$totalamount = 0.00;define('TIREPRICE',100);define('OILPRICE',10);define('SPARKPRICE',4);$totalamount = $tireqty * TIEEPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE;echo 'Subtotal: $'.number_format($totalamount,2).'
';$taxrate = 0.10; // local sales tax is 10%$totalamount = $totalamount * (1 + $taxrate);echo 'Total including tax: $' .number_format($totalamount,2).'
';
1.14 操作符结合
print 右, = != === !== new ()不相关 ,其他为 左.
1.15使用可变函数
string gettype(mixed var);
int settype(mixed var,string type);
例如: $a = 56; echo gettype($a).'
'; settype($a,'double'); echo gettype($a).'
'; ?>
其他测试变量的函数:is_array() is_double() is_float() is_real
is_long() is_int() is_integer()
is_string() is_object() is_resource()
is_null() is_scalar() is_numeric() is_callable()
测试变量状态:boolean isset(mixed var);
void unset(mixed var);
boolean empty(mixed var);
变量的重解释:int intval(mixed var[,int base]);
float floatval(mixed var);
string strval(mixed var);
1.16 实现控制结构
条件结构和循环结构
1.17
条件判断
if语句的条件必须用()括起来.用{}组织代码块.elseif == else if
switch事例代码:
switch($find){ case 'a' : echo 'Regular customer.'; break; case 'b' : echo 'Customer referred by TV advert.'; break; case 'c' : echo 'Customer referred by phone directory.'; break; case 'd': echo 'Customer referred by word of mouth.'; break; default : echo 'We do not know how this customer found us.'; break;}
1.18 迭代实现重复动作
while (condition) expression ;
Distance Cost$distance = 50;while ($distance { echo "\n $distance\n"; echo " ". $distance / 10 ."\n\n"; $distance += 50;}?>
for (expression1;condition;expression2)
expression3;
for($distance = 50; $distance { echo "\n &distance\n"; echo "\n\n";}?>
do
expression;
while(condition);
1.9 从控制结构或者脚本中跳出
break:结束循环,从后面第一条语句执行
continue:结束本次循环,进行下一次循环
exit;结束本程序
相关阅读 更多 +
排行榜 更多 +