• 消协提醒:春节预订酒店有技巧 预付卡消费需谨慎 2018-10-20
  • 陈敏尔唐良智会见传化集团董事长徐冠巨 2018-10-20
  • 扫黑除恶利剑高悬 前8月榕查处违法采砂案件93起 2018-10-20
  • 不能让所谓的收视率愚弄观众 2018-10-18
  • 新希望!中超19岁新星半年增重十斤 曾戏耍恒大两国脚 2018-10-17
  • 迎丰收 晒丰收 庆丰收 2018-10-15
  • “捂脸表情”被注册成商标?申请人不认为商标侵权 2018-10-15
  • 战巡南海、绕岛巡航…空军有“飞出去”的主心骨 2018-10-14
  • 幼儿园要求家长写一万字读后感:不能这样玩家长|幼儿园|家长-教育时讯 2018-10-13
  • 中国故宫文物展在希腊举行 2018-10-13
  • 車·晓 第26期 車企官方降价真相幾何? 2018-10-12
  • 宝沃总裁杨嵩:曾和奔驰宝马同水平 已不能同日而语 2018-10-11
  • 新时代党员干部要有更大的担当和作为 2018-10-10
  • “2018-雷霆”专项行动破获百余起台湾间谍案 2018-10-09
  • 朝韩首脑今起在平壤会晤 “金文会”将聚焦三大议题 2018-10-09
  • PHP学习笔记之一

    栏目: 编程语言 发布于: 2014-05-19 18:35:14

    配置PHP以及MySQL的过程略去,如果在Ubuntu下,参考 Ubuntu 10.04 Installation Memo 即可。

    1. 基本语法

    要在HTML代码中嵌入PHP脚本的方法是在<?php ?>中书写代码。向浏览器输出数据采用echo或者print函数。echo可以接受多个参数,print 只能接受一个。echo的形式是
    void echo(string arg1,[,…string argn]);
    PHP语法允许省略括号。 例如,
    复制代码 代码如下:
    <?php
    $my =' my ';
    echo 'Hello',$my,'world'
    ?>

    将会在浏览器上输出 Hello my world
    PHP 还支持一个和C语言很像的printf函数,例如 printf(‘ %d apples',100),将会输出 100 apples。sprintf的用法和printf一致,不过它不是输出到浏览器,而是返回一个字符串。
    2.数据类型和变量
    PHP是弱类型的,一个变量不需要预先声明,也不需要指定类型。PHP中变量是$加上变量名,PHP的变量是区分大小写的。 例如上例中的 $my='my'。
    PHP支持的变量类型包括:布尔型,整型,浮点型,字符串,数组和对象。前四种很常用,也和其他语言类似,不多做介绍。数组和对象后文具体介绍。
    PHP中有函数来检测 对象的类型,它们是 getttype。gettype返回一个string,它的值可以是array,boolean,double,integer,object,resource,string 和 unknow type. PHP也支持显式的类型转换,语法和C类似。
    转换操作符 转换为
    (array) 数组
    (bool) (boolean) 布尔型
    (int) (integer) 整数
    (object) 对象
    (float),(double),(real) 浮点数
    (string) 字符串
    例如:
    复制代码 代码如下:
    <?php
    $str ='a string';
    $num=15;
    $numstr='123.3';
    echo gettype($str),'<br/>';
    echo gettype($num),'<br/>';
    echo gettype($numstr),'<br/>';
    $numstr=(float)$numstr;
    echo gettype($numstr);
    ?>

    输出结果为:

    string
    integer
    string
    double

    还有函数可以用来判断一个变量是不是某种类型,例如 is_array(),is_bool()等等,用法都类似。

    3. 函数和变量作用域
    PHP声明函数的方法很简单,形式如下:
    复制代码 代码如下:
    function functionName(parameters){
    function body
    }

    不需要指定返回类型,括号中也不需要指定变量类型,只要有变量名就可以。例如:
    复制代码 代码如下:
    <?php
    function taxedPrice($price,$taxrate){
    return $price*(1+$taxrate);
    }
    echo taxedPrice(100, 0.03);
    ?>

    默认情况下,PHP是按值传递参数的,在函数内改变参数的值并不会改变函数外变量的值,但是PHP也支持按引用传递,语法和C一致,&$paramName,例如,下面一个经典的例子:
    复制代码 代码如下:
    <?php
    function swap1($x,$y){
    $t=$x;$x=$y;$y=$t;
    }
    function swap2(&$x,&$y){
    $t=$x;$x=$y;$y=$t;
    }
    $a=3;$b=5;
    swap1($a,$b);
    printf("a is %d, b is %d <br/>",$a,$b);
    swap2($a,$b);
    printf("a is %d, b is %d <br/>",$a,$b);
    ?>

    输出结果:

    a is 3, b is 5
    a is 5, b is 3

    PHP的函数还支持参数的默认值,语法和C也是一样的。例如:
    复制代码 代码如下:
    <?php
    function taxedPrice($price,$taxrate=0.03){
    return $price*(1+$taxrate);
    }
    echo taxedPrice(100);
    ?>

    下面介绍变量的作用域。PHP的变量作用域和C很类似,有局部变量,函数参数,全局变量,静态变量4种。局部变量就是在函数内声明的变量,函数参数是在函数首部声明的变量;不在函数中声明的变量是全局变量,全局变量可以在任何地方访问到,但是和C不同的是,如果在函数中要修改全局变量的值需要用GLOBAL关键字显式指定它是全局变量,否则PHP就会声明一个同名的局部变量并且覆盖它。例如:
    复制代码 代码如下:
    <?php
    $taxrate=0.03; //global
    function change1() {
    $taxrate+=1;
    }
    function change2() {
    GLOBAL $taxrate;
    $taxrate+=1;
    }
    change1();
    echo $taxrate,'<br/>';
    change2();
    echo $taxrate,'<br/>';
    ?>

    输出的结果是:

    0.03

    1.03

    PHP还有一种超级全局变量。超级全局变量是由PHP系统预定义的,主要用来访问与环境有关的信息,例如当前用户会话,用户操作环境和本地环境等。超级全局变量是一个数组,例如$_SERVER中存储了服务器相关的信息。$_GET,$_POST,$_FILES,$_COOKIE中分别存储了客户端采用get提交,和post的提交的信息,上传的文件,cookie信息等。这些变量的使用都很简单,需要什么信息只需要查找

    4 变量的变量
    和C一类的静态语言不同,PHP的变量名本身可以是一个变量,这对于需要动态生成很多变量的时候是很便利的。例如:
    复制代码 代码如下:
    <?php
    $r="hello";
    $$r="I am hello";
    echo $hello;
    ?>

    输出结果为: I am hello

    5.流程控制语句
    主要包括,if else, while,for,do while,switch. 这些和C语言都很像,基本是一致的。不多做介绍。有些不同,PHP的 elseif是一个关键字,是连在一起的,而C语言是else if。

    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:PHP学习笔记之一
    IT技术书籍推荐:
    深入PHP:面向对象、模式与实践(第3版)
    深入PHP:面向对象、模式与实践(第3版)
    Mart Zandstra (作者), 陈浩 (译者), 吴孙滨 (译者), 胡丹 (译者), 李静 (译者)
    《深入PHP:面向对象、模式与实践(第3版)》是PHP专家经典力作的最新版本。书中主要介绍了如何使用面向对象技术和设计模式编写稳定的、可维护的代码,如何使用Subversion管理多个开发人员,如何使用Phing和PEAR进行构建和安装,以及将构建和测试过程自动化的策略,包括持续集成?!渡钊隤HP:面向对象、模式与实践(第3版)》适合中高级PHP程序员阅读。