我的位置:首頁 >  3C科技▼ >  程式語言
  1. 開箱新訊
  2. 行動裝置
  3. 程式語言
  4. 電腦園區

程式語言教學-PHP篇-03

B  工程師IN台論之星 發表時間:

這篇我們要開始寫第一隻PHP程式了

PHP其實跟JS差不多

也同樣是弱型別

所以只要JS熟,PHP的一些基礎語法也絕對難不倒

先來講解幾個重點

ㄧ.

PHP的程式碼必須要這樣子

<?php 程式碼... ?>

這跟JS是一樣的,都需要用標籤包住

二.

檔名必須要是.php

三.

寫好的程式碼要放在伺服器的預設目錄中
1. 第一隻PHP

OK~那麼就來寫程式吧

範例:

<html>
<head>
</head>
<body>
<?php
echo "<span style='color:red;'>HELLO~WORD!!!</span>";
?>
</body>
</html>

寫完程式碼後

在伺服器的預設目錄中開一個名為test的資料夾

把程式碼儲存成index.php

之後在瀏覽器打上 localhost/test/index.php

應該會出現跟我一樣的畫面

在程式碼中有出現一個關鍵字 echo

echo 其實跟JS中的 document.write 是一樣的

其中的差別是

開啟網頁原始碼後會發現JS寫的 document.write 會出現

但是PHP的 echo 卻不會出現

範例2:

<html>
<head>
</head>
<body>
<?php
echo "<span style='color:red;'>HELLO~WORD!!!</span>";
?>
<br />
<script type="text/javascript">
document.write("<span style='color:red;'>HELLO~WORD!!!</span>");
</script>
</body>
</html>

這也就是伺服器端和客戶端的差別之一

伺服器端會把PHP標籤內的所有東西都運作完後才把所有原始碼回應給客戶端

但是程式碼中的JS語法卻是瀏覽器要執行的

所以JS語法在客戶端是無法隱藏的

這麼一來我可以利用瀏覽器的中控台把JS的變數內容改掉

讓客戶端傳不正確的資料給伺服器端

這時候伺服器端如果沒有做出一些防範

很容易就被人入侵或攻擊

永遠永遠不要相信從客戶端傳來的東西 ← 這句話一樣很重要

PS php跟JS一樣有程式的結束符號 ";" ,不要忘記加上去

 

2.變數

前面有提過

PHP也是弱型別語言

所以不需要先宣告變數型態

伺服器會自動去判斷

在JS中的用法是 var 變數名 = 內容;

但是在PHP中只要 $變數名 = 內容;

變數前面一定要是金錢符號

這是關鍵字!!!

範例:

<?php
$str = "<span style='color:red;'>HELLO~WORD!!!</span>";
?>
<html>
<head>
</head>
<body>
<?php
echo $str;
?>
</body>
</html>

執行後出來的結果跟第一個其實是一樣的

但是寫法有一些不一樣

我在最前面宣告了一個變數

才在body中 echo 變數
3.變數型態

剛剛說宣告變數不需要型態,伺服器會自己判斷

但是如果我們要知道變數目前的型態呢??

在PHP中有以下的型態

整數型態(Integer)
字串型態(String)
浮點數(Float)
物件(Object)
陣列(Array)
資源(resource)
布林值(boolean)
空(Null)

裡面比較奇特的是一種叫做 資源 的型態

依據PHP手冊上說,資源是一種特殊的變量類型,保存了到外部資源的一個引用:如打開文件、資料庫連接等。

資源中的所有東西可以到這個網站查詢

http://www.php.net/manual/en/resource.php

如果要確定變數型態

可以使用 gettype 函式

語法:

gettype(變數);

範例:

<html>
<head>
</head>
<body>
<?php
echo gettype(123).'<br>';
echo gettype(' ').'<br>';
echo gettype(1.23).'<br>';
echo gettype(new stdclass()).'<br>';
echo gettype(array()).'<br>';
echo gettype(true).'<br>';
echo gettype($a).'<br>';
?>
</body>
</html>

資源好像測不出來

echo gettype($a).'<br>';

因為我$a沒有宣告,所以測出來的是NULL

另外有幾個差不多功能的函式

is_array()
is_bool()
is_float()
is_int()
is_null()
is_object()
is_string()

有空就查查資料玩玩看吧

PS PHP中組合字串是用 . 不是跟JS一樣是用 +

 

就先講解到這邊

往後幾篇就會開始講解一些基本的語法

迴圈 邏輯判斷 ....等等

相信對大家不會有甚麼困難

因為觀念通,就只差熟悉語法了

本帖最後由 B  工程師IN台論之星 於 2014-08-22 06:50:31 編輯