zoukankan      html  css  js  c++  java
  • php语法同java语法的基本区别(实例项目需求,php才能熟)

    php语法同java语法的基本区别(实例项目需求,php才能熟)

    一、总结

    看下面 

    二、PHP基本语法以及和Java的区别

    .表示字符串相加

    ->同Java中的.

    $作为变量的前缀,除此之外,变量名称定义规则同Java

    参数传递和方法返回时传引用需要加前缀&

    示例代码: 
    function f(&$a){}//方法参数值以引用形式传入 
    functioin & f(){}//方法返回值以引用形式返回

    Java中反射调用方法对应PHP中的可变函数:var a="a";a="a";a();

    PHP在定义变量时较Java强大一点,可以定义可变变量,也就是说在定义变量时,变量名本身可以用一个变量。

    示例代码: 
    var a=a;vara=”a”;var a=usea;//a=”usea”;// a使a是一个使用a的值作为变量名的变量,也可以使用var {{a}=”use a”;

    PHP的类在使用时必须先加载,否则会报错,不同于Java只要使用到类都会导致类自动加载。加载类的代码如下:

    function my_autoloader ( class ) {  
        include  ‘classes/’  .class ) {      include  ‘classes/’  .class . ‘.class.php’ ; 

    spl_autoload_register ( ‘my_autoloader’ );

    PHP没有多线程

    PHP常量的定义不是使用final而是用defined()函数。示例:define ( “CONSTANT” , “Hello world.” );

    // PHP 5.3.0 后还支持这种方式定义:const CONSTANT = ‘Hello World’ ;

    PHP调用父类的构造函数不是使用super(),而是parent::__construct()。

    PHP有析构函数,类似Java的finalize方法。例如:function __destruct () {print “Destroying “;}

    PHP使用this表示当对象,这点同Java的this

    PHP使用parent表示父类,这点同Java的super

    PHP使用self表示当前类,Java没有这个关键字,也不需要使用表示类。

    PHP在调用本类中的静态变量和方法时,必须使用self关键字和::,示例代码:

    class A(){ 
    public static function foo () {echo “foo”;} 
    self :: foo (); 

    如果不在本类中则直接使用类名: 
    class A(){ 
    public static function foo () {echo “foo”;} 

    A :: foo ();

    三、PHP基础语法与java的差异(一)

    个人觉得在学习语言时,可以通过比较来进行学习。由于长时间写java代码,对java的基本语法还算熟悉,现在转学php,就php中基本语法与java基本语法差异进行比较。

    1. PHP是一种脚本语言,代码在服务器上执行,而结果以纯文本返回浏览器。

    2.PHP能够运行在各种不同的平台中:比如windows,linux,MaxOS等。

    3.PHP的脚本能够存放在文档的任何位置,且<?php 开头,以 ?> 结尾。

    4.PHP的注释: PHP支持三种注释方式:

    A.双斜杠 例如://这是申明一个变量

    B.#符号 例如:#这是申明一个变量

    C./**/ 例如:/*这是申明一个变量*/

    java同样支持三种注释方式:

    A.双斜杠 例如: //这是申明一个变量

    B./**/ 例如: /*这是申明一个变量*/

    C./***/ 例如: /**

    *这是申明一个变量

    */

    5.PHP中的大小写敏感问题: 在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感,而变量则是大小写敏感的

    而在java中,所有函数名,关键字,类,变量等都是大小写敏感的。

    6.PHP的变量申明:PHP类似于Javascript,两者都属于是若引用类型,申明的时候不用指明其类型。 而java则是强引用类型,申明时必须指明其类型。

    PHP中申明变量的方式是:$X = 7; 注意: java和PHP变量的命名规则相同。

    7.PHP中变量的作用域:

    A. global (全局的): 只能在函数以外进行访问

    B. Local(局部的): 只能在方法体重进行访问

    C.static (静态的)

    java中全局变量允许在方法中进行访问。

    8.global关键字: 可以在函数体内使用global关键字对全局变量进行访问

    例如:

    <span style="white-space:pre">	</span><pre name="code" class="html"><?php
    $x=5;
    $y=10;
    
    function myTest() {
      global $x,$y;
      $y=$x+$y;
    }
    
    myTest();
    echo $y; // 输出 15
    ?>
    
    
    

    9.PHP中的echo和print的差别:

    echo能够输出一个以上的字符串,速度比print稍快

    print只能输出一个字符串,并返回1 (与之不同,java可以使用print输出一行语句)。

    注意: PHP中print能够在双引号中输出变量,而java中双引号中不能输出变量。

    例如:

    <pre name="code" class="html">$txt2="W3School.com.cn";

    echo "Study PHP at $txt2";

    
    

    同样的也能输出数组中的任意元素:

    echo "My car is a {$cars[0]}";

    echo与print在有无括号的情况下都能使用。例如:echo与echo();

    10.PHP中的类: 就其实现过程与java相同,都是用了关键字class ,但其中的数据声明却不相同

    <?php
    class Car
    {
      var $color;
      function Car($color="green") {
        $this->color = $color;
      }
      function what_color() {
        return $this->color;
      }
    }
    ?>

    11.PHP中的字符串可以使用双引号或者是单引号表示。但是在java中只能使用双引号。

    例如:“string" 'string'

  • 相关阅读:
    运维面试题之系统运维
    运维面试题之linux编程
    运维面试题之linux基础
    运维面试题之网络
    python 查找日志关键字
    python 数组中数字求和是否为零
    python 时间戳和时间格式互相转换
    Appium环境搭建说明(包括报错处理)
    python操作上级子文件
    去除ufeff的解决方法,python语言
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9027198.html
Copyright © 2011-2022 走看看