php語法同java語法的基本區別(例項專案需求,php才能熟)

weixin_33816946發表於2018-05-12

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'

 

相關文章