最近一朋友準備從java轉PHP,幫她寫個簡單的PHP入門,簡單的講一下java與php的不一樣。 php
PS. ueditor實在不會用- -,湊合着看吧 java
|
PHP web |
Java 數組 |
文件格式 函數 |
<? ?>或是<?php ?>把代碼包含在裏面 網站 保存爲.php文件 spa |
直接書寫 orm 保存爲.java文件 對象 |
語言類型 ci |
即時編譯執行 |
靜態編譯執行 |
註釋 |
PHP獨有 # 這也是單行註釋 與java相同點:
// 這是單行註釋 /* 這是多行註釋塊 它橫跨了 多行 */ |
|
變量命名 |
PHP獨有 變量以 $ 符號開頭,其後是變量的名稱 與java相同: 變量名稱必須以字母或下劃線開頭 變量名稱不能以數字開頭 變量名稱只能包含字母數字字符和下劃線(A-z、0-9 以及 _) 變量名稱對大小寫敏感($y 與 $Y 是兩個不一樣的變量) |
|
變量聲明 |
php屬於弱類型,須要的時候直接使用,不用聲明 function test(){ $x = 10; echo $x; } 詳細的使用方式 http://www.w3school.com.cn/php/php_variables.asp |
強類型,須要聲明類型和初始化 public void test(){ int x =10; system.out.println(x); } |
簡單的輸出 |
echo $x; 或是 var_dump($x) |
system.out.println(x);
|
變量類型 |
字符串、整數、浮點數、邏輯、數組、對象、NULL。 雖然PHP在變量聲明不用指明類型,可是在語言的機制上仍是有這些類型 |
|
普通數組 |
$goods = array(「商品1」,」商品2」); 使用 $goods[0],獲得」商品1」 得到數組長度 echo count($goods); |
String[] goods = new String[]{ 使用 goods[0] ,獲得」商品1」 得到數組長度 system.out.println(goods.length); |
關聯數組 |
$goodsInfo = array(「id」 =>」xxxx」,」name」 =>」商品1」,」price」=>」20.00」); 使用方法: $goodsInfo[「id」];
|
在java中沒有關聯數組,想要實現相似功能只能使用map Map<String,String> goodsInfo = new HashMap<String,String>(); goodsInfo.put(「id」,」xxxx」); goodsInfo.put(「name」,」商品1」); goodsInfo.put(「price」,」20.00」); 使用方法: goodsInfo.get(「id」); |
關聯數組遍歷 |
foreach($goodsInfo as $key => $val){ echo 「商品屬性:」.$key.」, 值:」.$val; echo 「<br/>」; } 輸出結果: 商品屬性:id, 值:xxxx ……如下省略 |
for(String key : goodsInfo.keySet()){ String str = String.format(「商品屬性:%s, 值:%s」, key,goodsInfo.get(key)); system.out.println(str); } 輸出結果: 商品屬性:id, 值:xxxx ……如下省略 |
運算符 |
太多,懶得寫,本身看 http://www.w3school.com.cn/php/php_operators.asp |
|
邏輯條件 |
If If else If elseif else Switch For While 這幾個都同樣,沒啥好說的,說一個php中有,而java中沒有的 Foreach 這個和js的差很少,只適用於數組,並用於遍歷數組中的每一個鍵/值對。 對於普通數組 foreach ($array as $value) { 直接用$value } 對於關聯數組,例子參考上面關聯數組裏的 foreach ($array as $key=>$value) { 直接用$key和$value } |
|
函數 |
和js裏的同樣,這裏就不寫和java的區別了 |
|
內置的全局變量 |
PHP主要運用在web中,因此內置了許多全局變量,和java中使用request獲取的同樣的,具體解釋看網頁 |
推薦書籍:《細說PHP》
推薦網站:php100