喜悦国际村 专业PHP开发者社区's Archiver

游戏人间 发表于 2006-8-14 02:08 PM

PHP菜鸟进阶教程系列------之 第一部分 PHP基础语法编

最主要的声名:版权不有,欢迎修改版权后到处发布。

  2003年的某天,我正静静的坐的教室里上英语课,因为当年中考时候英语18分,所以老师讲的东西我明白的不多^_^,当然她讲的中文我还是能听得明白一部分的。
  突然,我想到了做个网站用ASP之外是否还有其它语言,我要是能把做网站的所有语言都学完就好了,到时候走篇整个教室我都不怕了^_^
    可是这两三年的实践让我明白了不但想学完不可能的,而且想学好一个都困难(现在我觉得比学英语还要困难),我一路学PHP一路用ASP做站赚点外快,学的速度并不啥样,走的弯路也很多,今天想想总结了一下,顺便发出来。

==================================================================================

    如果村里各村混村姑们觉得有必要看我写的东西,希望你先具备如下的条件效果更佳:拥有一台独立的PC机、会配置PHP运行环境、有HTML基础、手中有一本PHP手册(PHP4手册或PHP5都可以)、一本MYSQL手册(mysql4手册或mysql5都可以)。
    如果没有PHP手册,请到[url]http://php.net/[/url]去找,documentation栏目下的->Chinese (Simplified)这里,[url]http://www.php.net/manual/zh/[/url]。 想下载去百度搜索“PHP手册 下载”[url]http://www.baidu.com/s?ie=gb2312&bs=PHP%CA%D6%B2%E1&sr=&z=&cl=3&f=8&wd=PHP%CA%D6%B2%E1+%CF%C2%D4%D8&ct=0[/url]。
    如果没有MYSQL手册,请到[url]http://mysql.com/[/url]去找,或是在百度搜索“mysql手册 下载”。

==================================================================================

[align=center][b][size=5][color=Red]PHP菜鸟进阶教程系列------之PHP基础语法编 目录[/color][/size][/b][/align]

PHP简介
第一章:基本语法
第二章:PHP中的数据类型
第三章:变量
第四章:.....
............
第N章:函数
第N+1章:类
第N+2章:表单的处理
第一部分总结

==================================================================================

[align=center][b][size=5][color=Red]PHP简介[/color][/size][/b][/align]

    PHP简介部分我就不抄了,看看手册中说的,大部分在说好话我就不误导你了。

[align=center][b][size=5][color=Red]第一部分 PHP菜鸟进阶教程系列------之PHP基础语法编[/color][/size][/b][/align]

[align=center][b][size=3][color=Red]第一章 基本语法 -> PHP与HTML混用[/color][/size][/b][/align]

[php]
<html>
<title>PHP与HTML混用实例</title>
<body>
  <table>
    <tr>
      <td>
<?PHP

//看到上面的 <?PHP了吗?为什么这样写?手册里有说明,呵呵....

/*
PHP中的变量不需要事先定义,可直接使用,只要在一串字符串前加上$号,那么这个这个“$+字符串就”就自动组成了一个变量。
下面第一行是对变量$myname赋值。
第二行就输出(打印)字符串'MYNAME:'和变量$myname出来。

*/

$myname = '游戏人间';     //这里是注释部分,上面的注释是包括在 /* */ 中的,看明白了吗?
echo 'MYNAME:'.$myname;

/*
在HTML中插入PHP代码,则用<?PHP ?>包括起来就行了,这样就可以实现HTML和PHP代码一起使用了。
但要注意的是,这个文件名就命名为.php后缀名。
简单吧,我们就不运行 Hello World 了,喳喳~!
*/

?>
      </td>
    </tr>
  </table>
</body>
</html>
[/php]


[align=center][b][size=3][color=Red]第二章 PHP中的数据类型[/color][/size][/b][/align]

    在PHP中你不需要去指定这个变量的类型,如:$myname='游戏人间';,则这个变量$myname就是字符串型变量了。如果你在后面再赋值:$myname=10;,则这个变量马上会自动变成整型变量。
[php]
<?PHP
$myname='游戏人间';  //这时变量类型为字符串型
echo $myname.'<BR>';   
$myname=10;         //这时变量类型为整型
echo $myname;
?>
[/php]
    因为在PHP中变量类型会根据我们所赋给变量的值而改变,因此PHP中其实也可以理解为变量无数据类型,所有类型的都是通用的。
    但是有一点要注意。
[php]
<?PHP
$myname='10游戏人间';  //变量类型为字符串型
echo ($myname+5).'<BR>';   
$myname='游戏人间10';  //变量类型为字符串型
echo $myname+5;
/*
运行这段代码看效果
*/
?>
[/php]
    很容易地,你看看一下就明白了这个。好,这么简单的东西在聪明的你看来绝对是几分钟的事情。我们一起看看下面的变量。


[align=center][b][size=3][color=Red]第三章 PHP中的变量[/color][/size][/b][/align]

    .....写到这里我就有点懒了,因为当时我看手册里的语法都能看明白,我这么笨的都看懂了,我想你也一定能看懂,要是看不懂那就证明了。。。^_^
    .....还有运算符、流程控制、等等自己看手册,要我再写出来我就不好意思复制粘贴了。


[align=center][b][size=3][color=Red]第N章 函数[/color][/size][/b][/align]

    上面的懒是因为觉得没必要再写,但PHP中的函数是精华所在,不能不废话两句。

一、函数的使用。
[php]
<?PHP
//使用函数and的例子
$PHPX = and(100,900);  //and取得100-900之间的随机数
echo $PHPX.'<BR>';
echo and(100,900);
/*
上面把and函数所返回的值赋给$PHPX这变量,然后用echo输出。
最后一句PHP代码是直接输出and函数所返回的值,而不用先赋给变量再输入这么麻烦。
*/
?>
[/php]

二、自定义函数。
    PHP自带的函数使用方法你慢慢研究,因为以后经常用到,使用几个你就会明白了。自定义函数相对多一点点难度。下面直接给例子,在例子中我会做相应的解释。
[php]
<?PHP

/*
自定义函数的开始部分,在C++或C中有声明函数的步骤,而PHP中完全不必.
可以先定义函数后再使用,也可把定义函数放到这个文件的最后。
*/

function myfunctionname($X,$Y)  
{
  return $X*$Y;
}

//这部分也可放到函数的定义之前去
echo myfunctionname(123,654);

/*
这里有两个值放进去,因为在定义这个函数的时候有两个参数,如果这里不写上两个参数,则函数的调用就会出错。
*/

?>
[/php]
    自定义函数,它实际上要做的工作就是:把放进来的相关变量的值,做一定的处理后,返回一个处理后的值(当然,也可以不返回任何的值,下面给个不返回值的例子)。
[php]
<?PHP

function myfunctionname($char)
{
      echo $char;//直接输出,调用此函数时不会有任何的返回值
}

$name = '你自定义函数成功了!';
echo myfunctionname($name);

?>
[/php]


[align=center][b][size=3][color=Red]第N+1章 类[/color][/size][/b][/align]

    写着写着就不想写了,觉得手册里的已经很齐全了,可是当时我看的时候就不这么觉得。所以还是坚持把这个写完,不管后面部分还有没有兴趣去写。

    每次看到手册中那个类的实例时我就有点火,那时我看了三个星期才看明白它在说的啥。
[php]
<?php

class myclass   //类名叫myclass
{
  var $X;
  var $Y;
  function A($A,$B)
  {
    $this->$X = $A;
    $this->$Y = $B;
  }
  
  function B()
  {
       $R1=$this->$X;
       $R2=$this->$Y;
       return $R1+$R2;
  }
}
//使用方法
$mycl = new myclass;  // 建立类变量
$mycl->A("10",1);     // 使用类的A方法
echo $mycl->B;        // 使用类的B方法,这方法返回两个数的相加的值

?>
[/php]

[align=center][b][size=3][color=Red]第N+2章 表单的处理[/color][/size][/b][/align]

    上面的东西已经够你搞一段时间了,下面的基本能看明白了。
    其中$_GET是用来接收表单通过get方式发送过来的数据,$_POST是用来接收表单通过post方式发送过来的数据。
[php]
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>nnd我就不信PHP学不好</title>
<body>
<form name="formname" method="post" action="">
<input name="name" type="text" id="name">
<input type="submit" name="submit" value="提交">
</form>
<form name="formname" method="get" action="">
<input name="name" type="text" id="name">
<input type="submit" name="submit" value="提交">
</form>
<?PHP
//if用来判断submit按钮是否已经被按下,如果被按下,则submit的值就不是空的.
if( $_GET['submit']!='' or $_POST['submit']!='' )
{
    echo 'GET方式提交结果:'.$_GET['name'];
    echo 'POST方式提交结果:'.$_POST['name'];
}
?>
</body>
</html>
[/php]

==================================================================================

[align=center][b][size=3][color=Red]第一部分总结[/color][/size][/b][/align]

    看一下手册,多动手写几行代码,这样就会发现问题,发现问题才能知道你不懂的地方才哪里,这样才能知道你下一步应该什么做。
    因为手册里这部分介绍得比较详细了,所以并没有太详细的介绍PHP的基础语法,只是把手册中的转化一下,把我的理解方式写出来并给出相关的例子。如果你想学得快学得好点,还是我那句:每天比别人花更多的时间去学。
    写这文章的目的主要在于PHP+MYSQL的介绍,所以第二部分我打算介绍PHP+MYSQL的相关代码编写并给出比较完整的实例来,其中主要内容是:phpmyadmin的使用、SQL语法、PHP+SQL语法的配合使用、表单的数据处理。
    我是在对基础语法比较熟悉的情况写出来的,所以写的内容可能不一定适合于刚学的朋友们,如果有什么不了解的地方可直接回贴,不要QQ和MSN上问,必竟我也要上班,不能在上班的时候来回答你的问题。
    还有不少的新人们刚到村子里来提问,可能你一时还不适合这里的环境,请不要因为他人的回答而气愤离开这里。目前我还没找到一个比这里更好的论坛向你介绍,这里是比较成熟的一个环境了,可能你的问题太过于简单而人的回答并不是很好。如果是这样就你更应该努力,提出更的质量的问题来,你一离开这里后如果接触的是一群无任何基础的人,你会发现你的进步很慢。跟村里高手(我还算不上^_^)接触你的收获会很大很大,只有见到比你更厉害的人你才有想超过他们的意识,如果你所接触的范围里,你是第一,那么你的进步将会是最慢的。

==================================================================================

    -------------最后提醒各位PHPER们:注意身体健康!

[[i] 本帖最后由 游戏人间 于 2006-8-14 02:26 PM 编辑 [/i]]

游戏人间 发表于 2006-8-14 02:21 PM

  发现写给新人们的东西太少,而我的水平太次写不出高深的东西来,所以写点最基础的东西纯粹支持村长......
  PHP的未来需要有动力的年轻(我好像也年轻)朋友们来发展,不能只顾高手们,也要照顾一下新手们。
  以前都在灌水,到处乱灌,如果以前你的提问我灌错地方了这里表示道歉....我是无心d^_^

niohe 发表于 2006-8-14 05:00 PM

楼上的,我顶你一下!

游戏人间 发表于 2006-8-15 12:10 AM

偶带动大家灌水的的水平就不错,原创这么差:(:(,努力中,下次把起步提高一些。

c1a1o1 发表于 2006-8-15 04:43 PM

游戏 你改名老师吧!永远的榜样

糊涂仙 发表于 2006-8-15 05:51 PM

流行:顶你个肺.....

1128sky7 发表于 2006-8-15 08:38 PM

俺老师就是猛!

unspace 发表于 2006-8-17 12:48 PM

支持一下,我也是乱灌
等我有PC的时候,我接着写

luzhou 发表于 2006-8-17 07:31 PM

很好。
请再接再厉!

Fort 发表于 2006-8-23 11:30 AM

没有查到and函数

随机数函数是rnad()

[[i] 本帖最后由 Fort 于 2006-8-23 11:39 AM 编辑 [/i]]

游戏人间 发表于 2006-8-23 01:50 PM

[quote]原帖由 [i]Fort[/i] 于 2006-8-23 11:30 发表
没有查到and函数

随机数函数是rnad() [/quote]

终于有个看完的人了,当时打字出点小小的意外少打个r了。

luzhou 发表于 2006-8-23 01:56 PM

支持一下!

txqing 发表于 2006-8-23 11:23 PM

这个怎么调试有错误
<?PHP
//使用函数and的例子
$PHPX = and(100,900);  //and取得100-900之间的随机数
echo $PHPX.'<BR>';
echo and(100,900);
/*
上面把and函数所返回的值赋给$PHPX这变量,然后用echo输出。
最后一句PHP代码是直接输出and函数所返回的值,而不用先赋给变量再输入这么麻烦。
*/
?>

txqing 发表于 2006-8-23 11:25 PM

晕,楼上的那位,也有错误,我晕.应该是这样.
<?PHP
//使用函数and的例子
$PHPX = rand(100,900);  //and取得100-900之间的随机数
echo $PHPX.'<BR>';
echo rand(100,900);
/*
上面把and函数所返回的值赋给$PHPX这变量,然后用echo输出。
最后一句PHP代码是直接输出and函数所返回的值,而不用先赋给变量再输入这么麻烦。
*/
?>

游戏人间 发表于 2006-8-23 11:27 PM

[quote]原帖由 [i]txqing[/i] 于 2006-8-23 23:23 发表
这个怎么调试有错误
<?PHP
//使用函数and的例子
$PHPX = and(100,900);  //and取得100-900之间的随机数
echo $PHPX.'<BR>';
echo and(100,900);
/*
上面把and函数所返回的值赋给$PHPX这变量,然后 ... [/quote]


:lol:lol 把 $PHPX = and(100,900); 中的 and 改为 rand 就好了。

txqing 发表于 2006-8-24 07:19 PM

我还不懂类.怎么办,前辈,讲一下好么

游戏人间 发表于 2006-8-24 08:53 PM

<?php

class myclass   //定义一个名为myclass的类
{

/*
看下面$X和$Y,在外边咱把这两个东西叫变量,而在这里,我们不能这么叫,我们应该把它叫做这个类的一个对象。
多详细的看看上面这行说明,对象其实也不是什么不可理解或很深奥的东西,它跟一个不折不扣的变量很类似。
*/

  var $X;  
  var $Y;

/*
PHP5中可以如下这般做,但PHP4中听说不行,你可以试一下。
  var $X = 10 ;  
  var $Y = 1  ;
*/


/*
下面是类的方法A,每一个方法可做某件事情,比如这里就是把外边带进来的 $A和$B 分别赋给了 对象 $X和$Y, $X和$Y 在类里的使用方法是 $this->$X和$this->$Y ,而不像变量那样直接的用 $X或$Y .
*/

  function A($A,$B)
  {
    $this->$X = $A;
    $this->$Y = $B;
  }
  
  function B()  //类的方法B
  {
       $R1=$this->$X;
       $R2=$this->$Y;
       return $R1+$R2;
  }

}

//使用方法

$mycl = new myclass;  // 建立类变量,在

/*
使用类的一个方法其实跟调用一个类的意义挺接近,下面我们使用类myclass的方法A,其结果是把其中的 10和1 分别赋值给对象 $this->$X和$this->$Y ,因为没有返回值,所只需要执行这个方法就成了,不必输出任何的东西.
*/

$mycl->A("10",1);

/*
我们使用类myclass的方法B,其中这个方法做的事情是把对象 $this->$X与$this->$Y 相加,并返回相加的结果,在方法的前面加上echo就可以输出其返回的值了.
*/

echo $mycl->B;        // 使用类的B方法,这方法返回两个数的相加的值

?>

基本上PHP的类和对象其实也就是这么的简单。

[[i] 本帖最后由 游戏人间 于 2006-8-24 08:55 PM 编辑 [/i]]

samuel 发表于 2006-8-24 10:09 PM

[quote]原帖由 [i]Fort[/i] 于 2006-8-23 11:30 AM 发表
没有查到and函数

随机数函数是rnad() [/quote]
晕,楼主肯定写错了吧,不是and,也不是rnad(),而是rand();
:(

游戏人间 发表于 2006-8-24 11:06 PM

[quote]原帖由 [i]samuel[/i] 于 2006-8-24 22:09 发表

晕,楼主肯定写错了吧,不是and,也不是rnad(),而是rand();
:( [/quote]
:D:D前面我已经回复了一下,可能你没注意到。

redmangame 发表于 2006-10-17 03:01 PM

好东西  好帖子啊

页: [1] 2

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.