从C语言快速学PHP

Posted Little蒙的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从C语言快速学PHP相关的知识,希望对你有一定的参考价值。

php是解释性语言,是Web开发中常用的语言。对于web编程,建议学习时参考w3cschool的在线api手册。

PHP和C语言及其相似,懂C的人只要稍加学习就能写出简单的PHP程序。以下是PHP与C语言语法不同的地方: 

  • 1.常量

    在 PHP 中通过define()函数定义一个常量。合法的常量名只能以字母和下划线开始,后面可以跟着任意字母、数字或下划线。常量一旦定义就不能再修改或者取消定义。

    如:define("PI",3.14);定义一个常量,$area = PI*R*R; 计算圆的面积。

    define不能在类中定义常量,类里面需要用const constant = ‘constant value‘;定义常量。

  • 2.变量

    PHP 中使用美元符($)后跟变量名来表示一个变量,如$var 就是一个变量。PHP 属于弱类型语言,变量据程序上下文环境决定变量的数据类型。也就是说,在定义变量时,不需要明确指定变量的类型,把一个整数指定给变量$v,那么$v 就是一个整型变量。      若要转换类型,可以像C语言一样在要转换的变量之前加上目标类型,PHP 中允许的强制类型转换有:  (int),(integer)——转换成整型。 (bool),(boolean)——转换成bool型; (float),(double),(real)——转换成浮点型; (string)——转换成字符串; (array)——转换成数组; (object)——转换成对象。

    PHP 支持八种原始类型(type)。

    四种标量类型:

    string(字符串)   

    integer(整型)

    float(浮点型,也作 double )

    boolean(布尔型)

    两种复合类型:

    array(数组)   

    object(对象)

    两种特殊类型:

    resource(资源)   

    NULL(空)

    在 PHP 中,可以通过以下函数对变量的类型做判断,如函数 is_integer判断变量是否为整数,其他的类似的函数有is_string,is_double,is_array。也可以使用预定义函数gettype 取得一个变量的类型,使用预定义函数 settype 设置一个变量的类型。

    另外,可以使用预定义函数 isset 判断一个变量是否已经定义,使用 unset 语句删除一个变量。

    局部变量在所存在的函数内部有效,全局变量作用域是文件作用域(限于单个PHP文件),若局部变量同全局 变量重名,同C的处理方式,全局的被屏蔽。稍微麻烦一点的是,要想在函数内访问全局变量,需使用global关键字声明,否则的话PHP就认为是一个与全 局变量同名的局部变量。

 

    PHP 提供了大量的预定义变量,可以在程序或文件的任何地方使用它们,如$GLOBALS、$SERVER、$_GET、$_POST、$_FILE,$_COOKIE。

    可变变量是 PHP 中比较特别的一个概念,可变变量是指这样一个变量,它将某个变量的值作为自己的变量名,如:$a ‘hello‘;$$a ‘world‘;echo "${$a}"输出的就是world。

    ps:PHP同样是大小写敏感的,PHP有引用,但是没有指针,不过有类似指针的object类型。

  • 3.数组

    PHP的数组元素是可以动态增长的,这是C里面不敢想的。为数组增加一个元素很简单,同访问数组元素一样,只不过键名是新的或者为空,如 $arr[new]=3; 或 $arr[]=3,这样做的结果是PHP为数组$arr增加一个键名为new的元素其值为3,若键名为空,则以当前整型键名的最大值加1作为默认的键名分配给新的元素。

  • 4.表达式和运算符

    和C语言中的一样。PHP中多了"==="表示全等,"."表示字符串连接。"xor"表示逻辑异或。

  • 5.语句

    PHP和C语言一样,有着if, else, elseif ,switch, while, do-while, for, break, continue, goto等控制语句。注意PHP中写为elseif ,而C语言中式else if;另外PHP引进了foreach 这种控制语句。

  • 函数定义与调用

    function recursion($a)
    {
        if ($a 20) {
            echo "$a\n";
            recursion($a 1);
        }
    }

    和C语言相比,多了function声明,如果需要返回值,直接在函数体里面return value就可以了。

  • PHP 分隔符

    因为 PHP 是嵌入式脚本语言,需要使用某种分隔符将 PHP 代码和 html 的内容区分开来,这里所说的分隔符就是“<?php”和“?>”,它们将 PHP 代码包含在其中,也就是说,所有的 PHP代码都应该写在“<?php”和“?>”之间。

  • 程序注释

    和c语言一样,只是增加了#号作为单行注释,原来的//单行注释依然有效。

  • 类的定义和使用
 1 class Employee 
 2 { 
 3   private $name; 
 4   private $title; 
 5   protected $wage; 
 6 
 7   protected function clockIn() { 
 8     echo "Member $this->name clocked in at ".date("h:i:s"); 
 9   } 
10 
11   protected function clockOut() { 
12     echo "Member $this->name clocked out at ".date("h:i:s"); 
13   } 
14 } 

   类的实例化和使用:

1 object = new class_name(); 
2 
3 object->var_name; 
4 object->function_name; 

    如果要在定义的类里面访问成员的属性或者方法,可以使用伪变量 $this 。$this 用于表示当前对象或对象本身 。 

    

 

以上是关于从C语言快速学PHP的主要内容,如果未能解决你的问题,请参考以下文章

如何使用sublime代码片段快速输入PHP头部版本声明

php和Java的区别是啥

PHP这么高规格的语言,你还不赶紧学起来?

跟尹成前辈学C/C++ 003

C语言100个经典算法源码片段

代码审计学php还是java