1.php代码格式:<?php 程序代码 ?>
<script language="php"> 程序代码 </script>
2.hello world
<?php echo "hello world"; ?>
<?php
echo "Are you ready!<br>go,go,go<br>"
?>
3.php的程序注释
//
/* */
#
4.常量和变量
<?php
define("pi",3.14159);
echo pi;//输出常量pi的值
?>
在php中,变量是以$来表示的。也即只要以$开头的单词都是变量,并且变量名称有大小写之分。
变量不需事先经过声明。
变量的命名与数据类型无关,一般用变量的初始值来决定变量的类型,php可以提供8种数据类型:布尔型,整型,浮点型,字符串,数组,对象,资源,NULL.
<?php
$int =100;
echo $int;
$str="phhp 5 and mysql";
echo $str;
$float=3.1415926;
echo $float;
$classmate=array("小华","小伟","小明");
echo $classmate[0],$classmate[1];
?>
数据类型:
布尔值:
<?php
$judge=true;
echo $judge;
$judge=false;
echo $judge;
?>
echo出来的true值为1,false值为空。
下面这些值在判断语句if中时都将被视为false,其余的将视为true;
布尔值false,整数值0,浮点数0.0,空字符串,一个数组是零个元素,一个对象是零个元素,特殊类型NULL值。
整数值:
<?php
$int_a=123; //正数
$int_b=-123; //负数
$int_8=0123; //8进制数
$int_16=0x1a;//16进制
echo $int_a;
echo "<br>";
echo $int_b;
echo $int_8;
echo $int_16;
?> 八进制和十六进制都是以二进制格式储存在电脑中,但是最后输出时是以十进制数转换后的结果。
php字符串的表达方式可以是单引号或者是双引号。
<?php
echo 'i\'m a good autor.';
echo "trust me.";
?>
\n换行,\t空格,\$将$当成文字字符。
1.当剖析器遇到$时,会把它当作一个变量名称。<?php $str="this is a test";echo "$str";?>
2.取出字符串中的字符
$str="this is a test.";
echo "第一个字符";
echo $str{0};
3.连接字符串可以使用.号,而不需要使用+号。
$oplbc="we are"."the best.";
echo $oplbc;
$num1=1+"21.5"; echo $num1=22.5;
$num2=1+"100"; echo $num2=101;
数组:
初使化数组有三种方式:
1.直接指定索引值:
<?php
$week[0]="Monday";
$week[1]="Monday";
$week[2]="Monday";
$week["thursday"]=4;
echo $week[0];
echo $week[1];
echo $week[2];
echo $week["thursday"];
?>
2.自动索引
$week[]="Monday";
$week[]="Monday";
$week[]="Monday";
$week[]="4";
echo $week[0];
echo $week[1];
echo $week[2];
echo $week[3];
3.使用array函数。
$week=array("monday","tuesday","wednesday",4);
php数组相关的函数有:array(),count(),current(),list(),next(),prev(),reset(),key().
对象:要初始化对象,可以使用new语法。
<?php
class student
{
function do_best()
{
echo "do best.";
}
}
$stu=new student;
$stu->do_best;
?>
资源:一个特殊的变量,例如专门被用来访问mysql
$resource=mysql_connect();
$resource=NULL;
类型转换:
$var="100";
$var+=2;//整型
$var+=1,3;//浮点数
$var=$var ."Little dogs";
$var=10;
$var=(float)$var;
选择语句:::::::::
$name="Tony";
if($name=="Marry")
echo "hi! marry";
else if($name=="Tony")
echo "hi,tony";
else
echo "who are you?";
?>
switch 语句,while语句,for语句,break指令,continue指令,。。。。。。。。。
函数和变量的作用域
自定义函数是指程序员自行定义的函数程序,可以放在程序的最开头,或是在程序前端
<?php
function mul5($a){
return $a*5;
}
echo mul5(3);
}
?>
值传递和引用传递。。。
function add($a,$b){
$a+=$b;
return &a;
}
$a=5;
$b=10;
echo add($a,$b);
echo "<br>";
echo $a;
echo add(&$a,&$b);
echo "<br>";
echo $a;
参数完整性:::
function add($a=25,$b=100){
return $a+$b;
}
echo add();
echo "<br>";
$a=5;
$b=10;
echo add($a,$b);
?>
变量作用域::::若希望在自定义函数内引用外部的变量,则使用关键字global声明。
$a=1;
$b=2;
function add(){
global $a,$b;
return $a+$b;
}
echo add();
echo $a+$b;
引用文件:::::::php程序要引用某个文件,使用require或include皆可,require与include都是语法,而非函数。若您需经条件判断之后,才能决定是否引用该文件,则只能使用include.
require的使用方法如require ("header.inc");这个语法通常放在php程序的最前面,php程序在执行前,就会先读入require所指定引入的文件,使它变成php程序网页的一部分。
<?php
require "header.php";
echo add();
echo "<br>";
echo sub();
?>
<?php
function add(){return 5+3;}
function sub(){return 5-3;}
?>
require_once的功能和require几乎是相同的,唯一的差别在于require_once会先检查要引入的文件是不是已经在该程序中的其他地方被引入过。如果是,就不会再次重复引入该文件。
include使用方法如include "header.php",这个语法一般是放在流程控制的处理区段中。php程序网页在读到include文件时,才将它读进来。这种方式,可以把程序的流程简单化。
<?php
for($i=1;$i<=5;$i++){
include "inc_var.php";
}
echo $a;
echo "<br>";
?>
include_once也会先检查欲引入文件的内容是不是在之前就已经引入过。如果是,便不会再次重复引入同样的内容。
require与include的差异
require会将目标文件的内容诗篇,并且把自己的程序行代码换成这些读入的内容。这个读入与代换的操作发生在php引擎编译程序代码的时候,而不是发生在开始执行编译好的程序代码时。
require适合用来引入静态的内容,例如:自定义函数,版权声明等。而include则适合用来引入动态的程序代码,。
cookie与session
cookie的数据会存储在浏览器上,而Session的数据会存储在服务器的临时目录上。
<?php
$user="Tony 1234";
setcookie("test_cookie","$user",time()+60*60*24);
?>
session有几个专门的语法:
session_start();打开session
session_register(变量名称);注册session的变量
echo(session 变量名称);
session_destroy();
<?php
session_start();
session_register("ip");
$ip=$REMOTE_ADDR;
?>
<html>
<body>
<a href="show_ip.php">显示ip</a>
</body>
php5的类与对象
<?php
class Circle{
function area(){
echo "面积:";
echo 3.14*5*5;
}
function perimeter(){
echo "周长";
echo 10*3.14;
}
$cir=new Circle();
$cir->area();
echo "<br>";
$cir->perimeter();
?>
限定字符:::::
public:代表可以在程序的任何地方使用该成员,如果成员没有声明,默认为public.
private:仅能在该类中使用该成员,在该类中您可以使用$this->变量来调用它。
protected:可以在该类和该类的子类使用该成员。
static:将类的成员声明为静态,在类中您不能用this来引用它,可以使用下面两种方法引用:
在类中,可以使用self,self::静态成员名称,在类外,类名称::静态成员名称。
const,常量,类中使用常量必须使用self::再加上常量名称。
final:终结继承。当任何一个类声明为final的时候,其将无法被继承,当任何一个方法被声明为final的时候,其将无法被重写。
<?php
class Circle{
public $radius=5;
private $pi=3.14;
function area(){
echo "半径=";
echo $this->radius;
echo "面积=";
echo $this->pi*$this->radius*$this->radius;
}
function perimeter(){
echo "半径=";
echo $this->radius;
echo "面积=";
echo 2*$this->pi*$this->radius;
}}
$cir=new Circle();
$cir->area();
$cir->radius=10;
$cir->perimeter();
?>
}
构造函数与析构函数。
function _construct(){
echo "";
echo $this->radius;
}
function _destruct(){
echo self::pi*4;
}
封装
继承
class Color_circle extends circle{
}
多态就是当子类继承的父类中有成员的名称相同时,则继承类的成员将会替换父类的成员。子类将可重写父类的成员。
若子类的函数需要使用父类的某方法,则使用如下:
父类名称::父类的函数名();
parent::父类的函数名();
接口就是一个先行声明一堆方法的集合,接口的设计必须是类中一定要实现的方法的集合。凡是在接口中声明的方法,一旦某一个类引用这种接口,则该类定要将接口内的方法实现出来。
声明接口的关键字是interface.
引用接口的关键字是implement.
<?php
interface face_Circle{
public function area();
public function perimeter();
}
class Circle implements face_Circle{
private $radius=5;
const pi=3.14;
final function area(){
}
}
第九章 php与mysql连接
在进行php与mysql的连接之前,请确认:
在php.ini中,是否存在这条语句,extension=php_mysql.dll
是否已经拷贝php目录中的mysql相关函数库到系统安装目录的system32目录下。
<?
$link=mysql_connect("localhost","root","123456");//连接
mysql_query("use mysql");//选择数据库
$result=mysql_query("select * from user",$link);
whild($field=mysql_fetch_field($result)){}
whild($row=mysql_fetch_row($result)){
for($i=0;$i<count($row);$i++){}
}
mysql_free_result($result);
mysql_close($link);
创建连接::::
$link=mysql_connect('数据库所在位置','数据库账号','数据库密码');
$link=mysql_connect('localhost','root','123456') or die("could not connect:".mysql_error());
数据库选用:
mysql_query("use mysql");
或mysql_select_db("db");
执行SQL语句:::::::::
$result=mysql_query("select * from user",$link);
分析表头::::::::::::
while($field=mysql_fetch_field($result)){
echo "<td>".$field->name."</td>\n";
}
mysql_fetch_field()函数必须传入$result查询结果变量,所创建的每个$field变量便代表一个字段,每个字段都有数种属性,在此我们通过->操作符来取得这个字段的名称属性。
分析表身::
whild($row=mysql_fetch_fow($result)){
}
php中的mysql处理函数
mysql_connect
mysql_select_db()
mysql_create_db()新建数据库
mysql_query()执行查询
mysql_free_result()
mysql_close()
mysql_num_rows返回结果中的数据条数
mysql_affected_rows()检测所影响的数组数量
在接下来,将举出数个php与mysql操作的应用实例。。。。。
会员登录:::
mysql script:
create database db;
use db;
create table user(serial int unsigned not null primary key auto_increment,id varchar(20) not null,passwd varchar(20));
insert into user values();
insert into user values();
login.php
<form name="form2" action=chk.php method=post>
<p align="center">请输入账号:<input type="text" name="user_id"></p>
<p align="center">请输入密码:<input type="password" name="user_passwd"></p>
<input type="submit" name="提交">
<input type="reset" name="重设">
</form>
chk.php
<?
$link=mysql_connect("localhost","root","123456");
mysql_query("use db");
$sqlstr="select * from user where id='"$_POST['user_id']."'and passwd='".$_POST['user_passwd']."'";
$result=mysql_query($sqlstr,$link);
if(mysql_num_rows($result)==1){
echo "登录成功";
}
else{}
mysql_free_result($result);
mysql_clost($link);
<script language="php"> 程序代码 </script>
2.hello world
<?php echo "hello world"; ?>
<?php
echo "Are you ready!<br>go,go,go<br>"
?>
3.php的程序注释
//
/* */
#
4.常量和变量
<?php
define("pi",3.14159);
echo pi;//输出常量pi的值
?>
在php中,变量是以$来表示的。也即只要以$开头的单词都是变量,并且变量名称有大小写之分。
变量不需事先经过声明。
变量的命名与数据类型无关,一般用变量的初始值来决定变量的类型,php可以提供8种数据类型:布尔型,整型,浮点型,字符串,数组,对象,资源,NULL.
<?php
$int =100;
echo $int;
$str="phhp 5 and mysql";
echo $str;
$float=3.1415926;
echo $float;
$classmate=array("小华","小伟","小明");
echo $classmate[0],$classmate[1];
?>
数据类型:
布尔值:
<?php
$judge=true;
echo $judge;
$judge=false;
echo $judge;
?>
echo出来的true值为1,false值为空。
下面这些值在判断语句if中时都将被视为false,其余的将视为true;
布尔值false,整数值0,浮点数0.0,空字符串,一个数组是零个元素,一个对象是零个元素,特殊类型NULL值。
整数值:
<?php
$int_a=123; //正数
$int_b=-123; //负数
$int_8=0123; //8进制数
$int_16=0x1a;//16进制
echo $int_a;
echo "<br>";
echo $int_b;
echo $int_8;
echo $int_16;
?> 八进制和十六进制都是以二进制格式储存在电脑中,但是最后输出时是以十进制数转换后的结果。
php字符串的表达方式可以是单引号或者是双引号。
<?php
echo 'i\'m a good autor.';
echo "trust me.";
?>
\n换行,\t空格,\$将$当成文字字符。
1.当剖析器遇到$时,会把它当作一个变量名称。<?php $str="this is a test";echo "$str";?>
2.取出字符串中的字符
$str="this is a test.";
echo "第一个字符";
echo $str{0};
3.连接字符串可以使用.号,而不需要使用+号。
$oplbc="we are"."the best.";
echo $oplbc;
$num1=1+"21.5"; echo $num1=22.5;
$num2=1+"100"; echo $num2=101;
数组:
初使化数组有三种方式:
1.直接指定索引值:
<?php
$week[0]="Monday";
$week[1]="Monday";
$week[2]="Monday";
$week["thursday"]=4;
echo $week[0];
echo $week[1];
echo $week[2];
echo $week["thursday"];
?>
2.自动索引
$week[]="Monday";
$week[]="Monday";
$week[]="Monday";
$week[]="4";
echo $week[0];
echo $week[1];
echo $week[2];
echo $week[3];
3.使用array函数。
$week=array("monday","tuesday","wednesday",4);
php数组相关的函数有:array(),count(),current(),list(),next(),prev(),reset(),key().
对象:要初始化对象,可以使用new语法。
<?php
class student
{
function do_best()
{
echo "do best.";
}
}
$stu=new student;
$stu->do_best;
?>
资源:一个特殊的变量,例如专门被用来访问mysql
$resource=mysql_connect();
$resource=NULL;
类型转换:
$var="100";
$var+=2;//整型
$var+=1,3;//浮点数
$var=$var ."Little dogs";
$var=10;
$var=(float)$var;
选择语句:::::::::
$name="Tony";
if($name=="Marry")
echo "hi! marry";
else if($name=="Tony")
echo "hi,tony";
else
echo "who are you?";
?>
switch 语句,while语句,for语句,break指令,continue指令,。。。。。。。。。
函数和变量的作用域
自定义函数是指程序员自行定义的函数程序,可以放在程序的最开头,或是在程序前端
<?php
function mul5($a){
return $a*5;
}
echo mul5(3);
}
?>
值传递和引用传递。。。
function add($a,$b){
$a+=$b;
return &a;
}
$a=5;
$b=10;
echo add($a,$b);
echo "<br>";
echo $a;
echo add(&$a,&$b);
echo "<br>";
echo $a;
参数完整性:::
function add($a=25,$b=100){
return $a+$b;
}
echo add();
echo "<br>";
$a=5;
$b=10;
echo add($a,$b);
?>
变量作用域::::若希望在自定义函数内引用外部的变量,则使用关键字global声明。
$a=1;
$b=2;
function add(){
global $a,$b;
return $a+$b;
}
echo add();
echo $a+$b;
引用文件:::::::php程序要引用某个文件,使用require或include皆可,require与include都是语法,而非函数。若您需经条件判断之后,才能决定是否引用该文件,则只能使用include.
require的使用方法如require ("header.inc");这个语法通常放在php程序的最前面,php程序在执行前,就会先读入require所指定引入的文件,使它变成php程序网页的一部分。
<?php
require "header.php";
echo add();
echo "<br>";
echo sub();
?>
<?php
function add(){return 5+3;}
function sub(){return 5-3;}
?>
require_once的功能和require几乎是相同的,唯一的差别在于require_once会先检查要引入的文件是不是已经在该程序中的其他地方被引入过。如果是,就不会再次重复引入该文件。
include使用方法如include "header.php",这个语法一般是放在流程控制的处理区段中。php程序网页在读到include文件时,才将它读进来。这种方式,可以把程序的流程简单化。
<?php
for($i=1;$i<=5;$i++){
include "inc_var.php";
}
echo $a;
echo "<br>";
?>
include_once也会先检查欲引入文件的内容是不是在之前就已经引入过。如果是,便不会再次重复引入同样的内容。
require与include的差异
require会将目标文件的内容诗篇,并且把自己的程序行代码换成这些读入的内容。这个读入与代换的操作发生在php引擎编译程序代码的时候,而不是发生在开始执行编译好的程序代码时。
require适合用来引入静态的内容,例如:自定义函数,版权声明等。而include则适合用来引入动态的程序代码,。
cookie与session
cookie的数据会存储在浏览器上,而Session的数据会存储在服务器的临时目录上。
<?php
$user="Tony 1234";
setcookie("test_cookie","$user",time()+60*60*24);
?>
session有几个专门的语法:
session_start();打开session
session_register(变量名称);注册session的变量
echo(session 变量名称);
session_destroy();
<?php
session_start();
session_register("ip");
$ip=$REMOTE_ADDR;
?>
<html>
<body>
<a href="show_ip.php">显示ip</a>
</body>
php5的类与对象
<?php
class Circle{
function area(){
echo "面积:";
echo 3.14*5*5;
}
function perimeter(){
echo "周长";
echo 10*3.14;
}
$cir=new Circle();
$cir->area();
echo "<br>";
$cir->perimeter();
?>
限定字符:::::
public:代表可以在程序的任何地方使用该成员,如果成员没有声明,默认为public.
private:仅能在该类中使用该成员,在该类中您可以使用$this->变量来调用它。
protected:可以在该类和该类的子类使用该成员。
static:将类的成员声明为静态,在类中您不能用this来引用它,可以使用下面两种方法引用:
在类中,可以使用self,self::静态成员名称,在类外,类名称::静态成员名称。
const,常量,类中使用常量必须使用self::再加上常量名称。
final:终结继承。当任何一个类声明为final的时候,其将无法被继承,当任何一个方法被声明为final的时候,其将无法被重写。
<?php
class Circle{
public $radius=5;
private $pi=3.14;
function area(){
echo "半径=";
echo $this->radius;
echo "面积=";
echo $this->pi*$this->radius*$this->radius;
}
function perimeter(){
echo "半径=";
echo $this->radius;
echo "面积=";
echo 2*$this->pi*$this->radius;
}}
$cir=new Circle();
$cir->area();
$cir->radius=10;
$cir->perimeter();
?>
}
构造函数与析构函数。
function _construct(){
echo "";
echo $this->radius;
}
function _destruct(){
echo self::pi*4;
}
封装
继承
class Color_circle extends circle{
}
多态就是当子类继承的父类中有成员的名称相同时,则继承类的成员将会替换父类的成员。子类将可重写父类的成员。
若子类的函数需要使用父类的某方法,则使用如下:
父类名称::父类的函数名();
parent::父类的函数名();
接口就是一个先行声明一堆方法的集合,接口的设计必须是类中一定要实现的方法的集合。凡是在接口中声明的方法,一旦某一个类引用这种接口,则该类定要将接口内的方法实现出来。
声明接口的关键字是interface.
引用接口的关键字是implement.
<?php
interface face_Circle{
public function area();
public function perimeter();
}
class Circle implements face_Circle{
private $radius=5;
const pi=3.14;
final function area(){
}
}
第九章 php与mysql连接
在进行php与mysql的连接之前,请确认:
在php.ini中,是否存在这条语句,extension=php_mysql.dll
是否已经拷贝php目录中的mysql相关函数库到系统安装目录的system32目录下。
<?
$link=mysql_connect("localhost","root","123456");//连接
mysql_query("use mysql");//选择数据库
$result=mysql_query("select * from user",$link);
whild($field=mysql_fetch_field($result)){}
whild($row=mysql_fetch_row($result)){
for($i=0;$i<count($row);$i++){}
}
mysql_free_result($result);
mysql_close($link);
创建连接::::
$link=mysql_connect('数据库所在位置','数据库账号','数据库密码');
$link=mysql_connect('localhost','root','123456') or die("could not connect:".mysql_error());
数据库选用:
mysql_query("use mysql");
或mysql_select_db("db");
执行SQL语句:::::::::
$result=mysql_query("select * from user",$link);
分析表头::::::::::::
while($field=mysql_fetch_field($result)){
echo "<td>".$field->name."</td>\n";
}
mysql_fetch_field()函数必须传入$result查询结果变量,所创建的每个$field变量便代表一个字段,每个字段都有数种属性,在此我们通过->操作符来取得这个字段的名称属性。
分析表身::
whild($row=mysql_fetch_fow($result)){
}
php中的mysql处理函数
mysql_connect
mysql_select_db()
mysql_create_db()新建数据库
mysql_query()执行查询
mysql_free_result()
mysql_close()
mysql_num_rows返回结果中的数据条数
mysql_affected_rows()检测所影响的数组数量
在接下来,将举出数个php与mysql操作的应用实例。。。。。
会员登录:::
mysql script:
create database db;
use db;
create table user(serial int unsigned not null primary key auto_increment,id varchar(20) not null,passwd varchar(20));
insert into user values();
insert into user values();
login.php
<form name="form2" action=chk.php method=post>
<p align="center">请输入账号:<input type="text" name="user_id"></p>
<p align="center">请输入密码:<input type="password" name="user_passwd"></p>
<input type="submit" name="提交">
<input type="reset" name="重设">
</form>
chk.php
<?
$link=mysql_connect("localhost","root","123456");
mysql_query("use db");
$sqlstr="select * from user where id='"$_POST['user_id']."'and passwd='".$_POST['user_passwd']."'";
$result=mysql_query($sqlstr,$link);
if(mysql_num_rows($result)==1){
echo "登录成功";
}
else{}
mysql_free_result($result);
mysql_clost($link);