十天学会php(1)


Posted in PHP onOctober 09, 2006

以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。 PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合。我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序。当然要简单的构建和访问查看数据库 PHPMYADMIN 不可少。

至于表单设计什么的,我这里也不想多说了,在《十天学会ASP》中已经有介绍。

下面简单介绍一下PHP的语法。

1、嵌入方法:
类似ASP的<%,PHP可以是<?php或者是<?,结束符号是?>,当然您也可以自己指定。

2、引用文件:
引用文件的方法有两种:require 及 include。
require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。
include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。

3、注释方法:
<?php
echo "这是第一种例子。\n" ; // 本例是 C++ 语法的注释
/* 本例采用多行的
注释方式 */
echo "这是第二种例子。\n" ;
echo "这是第三种例子。\n" ; # 本例使用 UNIX Shell 语法注释
?>

4、变量类型:
$mystring = "我是字符串" ;
$NewLine = "换行了\n" ;
$int1 = 38 ;
$float1 = 1.732 ;
$float2 = 1.4E+2 ;
$MyArray1 = array( "子" , "丑" , "寅" , "卯" );

这里引出两个问题,首先PHP变量以$开头,第二PHP语句以;结尾,可能ASP程序员会不适应。这两个遗漏也是程序上大多错误所在。

5、运算符号:

数学运算: 符号 意义 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 取余数 ++ 累加 -- 递减
字符串运算:
运算符号只有一个,就是英文的句号。它可以将字符串连接起来,变成合并的新字符串。类似ASP中的&
<?
$a = "PHP 4" ;
$b = "功能强大" ;
echo $a.$b;
?>
这里也引出两个问题,首先PHP中输出语句是echo,第二类似ASP中的<%=变量%>,PHP中也可以<?=变量?>。

逻辑运算:
符号 意义 < 小于 > 大于 <= 小于或等于 >= 大于或等于 == 等于 != 不等于 && 而且 (And) and 而且 (And)
或者 (Or) or 或者 (Or) xor 异或 (Xor) ! 不 (Not) 今天就说到这里,明天说一下流程控制。
第二天 学习目的:掌握php的流程控制

1、if..else 循环有三种结构 第一种是只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: if (expr) { statement } 其中的 expr 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。 范例:本例省略大括号。 <?php
if ($state==1)echo "哈哈" ;
?>

这里特别注意的是,判断是否相等是==而不是=,ASP程序员可能常犯这个错误,= 是赋值。 范例:本例的执行部分有三行,不可省略大括号。 <?php
if ($state==1) {
echo "哈哈 ;
echo "<br>" ;
}
?> 第两种是除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下 if (expr) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。 <?php
if ($state==1) {
echo "哈哈" ;
echo "<br>";
}
else{
echo "呵呵";
echo "<br>";
}
?> 第三种就是递归的 if..else 循环,通常用在多种决策判断时。它将数个 if..else 拿来合并运用处理。 直接看下面的例子 <?php
if ( $a > $b ) {
echo "a 比 b 大" ;
} elseif ( $a == $b ) {
echo "a 等于 b" ;
} else {
echo "a 比 b 小" ;
}
?> 上例只用二层的 if..else 循环,用来比较 a 和 b 两个变量。实际要使用这种递归 if..else 循环时,请小心使用,因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会造成程序出现莫名其妙的问题。

2、 for 循环就单纯只有一种,没有变化,它的语法如下 for (expr1; expr2; expr3) { statement } 其中的 expr1 为条件的初始值。expr2 为判断的条件,通常都是用逻辑运算符号 (logical operators) 当判断的条件。expr3 为执行 statement 后要执行的部份,用来改变条件,供下次的循环判断,如加一..等等。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。 下例是用 for 循环写的的例子。 <?php
for ( $i = 1 ; $i <= 10 ; $i ++) {
echo "这是第".$i."次循环<br>" ;
}
?>

3、 switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。 语法如下 switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; } 其中的 expr 条件,通常为变量名称。而 case 后的 exprN,通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 <?php
switch ( date ( "D" )) {
case "Mon" :
echo "今天星期一" ;
break;
case "Tue" :
echo "今天星期二" ;
break;
case "Wed" :
echo "今天星期三" ;
break;
case "Thu" :
echo "今天星期四" ;
break;
case "Fri" :
echo "今天星期五" ;
break;
default:
echo "今天放假" ;
break;
}
?>

这里需要注意的是break;别遗漏了,default,省略是可以的。
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。 今天就说到这里,明天开始说数据库的使用。

PHP 相关文章推荐
php设计模式 Strategy(策略模式)
Jun 26 PHP
Zend Framework中的简单工厂模式 图文
Jul 10 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 PHP
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
May 08 PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
Aug 20 PHP
php需登录的文件上传管理系统
Mar 21 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
Mar 01 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
Sep 10 PHP
laravel框架 laravel-admin上传图片到oss的方法
Oct 13 PHP
十天学会php(2)
Oct 09 #PHP
论坛头像随机变换代码
Oct 09 #PHP
PHP中路径问题的解决方案
Oct 09 #PHP
新浪新闻小偷
Oct 09 #PHP
如何使用PHP获取网络上文件
Oct 09 #PHP
用PHP动态创建Flash动画
Oct 09 #PHP
一个odbc连mssql分页的类
Oct 09 #PHP
You might like
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
php empty() 检查一个变量是否为空
2011/11/10 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
php HTML无刷新提交表单
2016/04/05 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
Thinkphp5.0框架视图view的循环标签用法示例
2019/10/12 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
webpack5 联邦模块介绍详解
2020/07/08 Javascript
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
2016/07/12 Python
Python入门之后再看点什么好?
2018/03/05 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
Staples英国官方网站:办公用品一站式采购
2017/10/06 全球购物
世界上最大的艺术和工艺用品商店:MisterArt.com
2018/07/13 全球购物
交通事故赔偿协议书
2014/04/15 职场文书
婚纱店策划方案
2014/05/22 职场文书
html输入两个数实现加减乘除功能
2021/07/01 HTML / CSS
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL