php教程基礎語法入門教程
輸出語句:
echo()、print().
eg:
echo 'hello','world';
注釋:
#、//、/* */
變量:
必須以$開頭,區分大小寫,第一個字符必須是字母或下劃線。
鏈接字符串:
兩個字符串之間用點(.)連接
常量:
全部使用大寫字母來命名常量,常量不會像變量那樣使用美元符號。
define('name','value');
PHP運行時利用了幾個預定義的常量,包括PHP_VERSION和PHP_OS(服務器的操作系統)
創建一個新的日期常量:
define('TODAY','February 3,2005');
echo 'Today is'.TODAY;
單引號和雙引號的區別:
在單引號的字符按照字面意義進行處理,而在雙引號中的值則將被解釋。
處理HTML表單
<form action="" method="">
action後指示將其頁面提交到指定的頁面。
接受表單數據的PHP頁面將把用戶輸入到這個表單的中的內容賦予一個稱謂&_REQUEST['name']的特殊變量。其中要使用全拼大寫,因為PHP對變量名區分大小寫。name用於表示要提交的表單中指定的變量名。
1.php
<body>
<form action="2.php" method="get">
<fieldset><legend>Enter your information in the form below:</legend>
<p><b>name:</b><input type="text" name="name" size="20" maxlength="40"/></p>
<p><b>E-mail:</b><input type="text" name="email" size="40" maxlength="60"/></p>
<p><b>Gender:</b><input type="radio" name="gender" value="M"/>Male<input type="radio" name="gender" value="F"/>Female</p>
<p><b>Age:</b>
<select name="age">
<option value="0-29">Under 30</option>
<option value="30-60">Between 30 and 60</option>
<option value="60+"Over 60></option>
</select></p>
<p><b>Comments:</b><textarea name="comments" rows="3" cols="40"></textarea></p>
</fieldset>
<div align="center"><input type="submit" name="submit" value="Submit My Information"/></div>
</form>
</body>
運行如下:
2.php
當輸入一些數據點submit時,會調用2.php:
<body>
<?php
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$comments=$_REQUEST['comments'];
echo "<p>Thank you.<b>$name</b>.for the following comments:<br/><tt>$comments</tt></p>n";
?>
</body>
運行如下:
管理Magic Quotes(魔術引用):
對變量的值中的單引號和雙引號進行轉義。
如在上例中的comments中輸入‘,則會顯示'。
PHP中,有兩類主要的Magic Quotes:magic_quotes_gpc,它適用於表單、URL和cookie數據(gpc代表get、post、cookie);magic_quotes_rentime,它適用於外部文件和數據庫教程檢索的數據。
如果在服務器上啟用了Magic Quotes,則可以使用strips教程lashes()函數撤銷它的作用。
$var=stripslashes($var);
這個函數將刪除在$var中發現的任何反斜槓。在表單示例中,這具有把轉義的提交字符串轉變回其原來的未轉義值的作用。
條件語句
If(isset($_REQUEST['gender']))
{
$gender=$_REQUEST['gender']
}
Else
{
$gender=NULL;
}
If($gender=='M')
{
...
}
驗證表單數據
Isset()用於測試一個變量是否具有值(包括0、FALSE,或則一個空字符串,但不能是NULL)
但是使用此方法,若空字符串測試為TRUE,所以他不是驗證HTML表單的文本輸
入和文本框的有效方式。
empty()方法:
檢查一個變量是否具有空值(empty):空字符串、0、NULL或FALSE。
eg:
if(!Empty(&_REQUEST['name']))
{
$name=stripslashes($_REQUEST['NAME'])
}
if($name)
{
…
}
要檢測提交的值是否是數字,可使用is_numeric()函數。
可以使用strlen()函數來查看是否輸入了0個以上的字符:
if(strlen($var)>0)
...
數組
數組可以構成一系列鍵-值對(key-value),其中每一對都是那個數組的一個項目或元素(element)。
PHP支持兩種數組:索引數組(indexed array) 和聯合數組(associative array),前者使用數字作為鍵,後者使用字符串作為鍵。索引數組的第一個索引開始於0,除非顯示指定鍵。
數組遵守與任何其他變量相同的命名規則。
echo $ar[2];
echo $ar['MD']; --聯合索引的鍵必須用單引號。
當數組使用字符串作為它的鍵時,輸出格式為:
echo "{$array['IL']}";
當使用數字作為它的鍵時,輸出格式為:
echo "$array[4]";
超全局數組:
$_GET、$_POST、$_SESSION、$_REQUEST、$_COOKIE等:
php使用$_GET來存儲通過get方法發送到php腳本的所有變量和值。
$_POST存儲使用post方法從HTML表單發送到php腳本的所有數據。
以及$_COOKIE,他們都是$_REQUEST的子集。
eg:
在前面的例子中,我們使用post獲取所有元素,則可以直接用$_POST['name'],如:
$name=$_POST['name'];
創建數組:
1.一次向數組中添加一個元素:
$array[]="d";
$array['son']="BUJ";
2. 使用array()函數:
$arr=array('IA' => 'LH','MD' => 'MH');
不論是否顯示地設置了鍵,都可以使用這個函數:
$arr=array('dd','asd');
如果設置了第一個具有數字鍵的值,則此後添加的值將具有遞增的鍵:
$day=array(1=>'S','dd','ss') //$day[2]=dd,$day[3]=ss;
創建連續數字的數組,可以使用range()函數:
$ten=range(1,10);
訪問數組:
foreach($array as $value)
{...}
foreach()循環將會迭代$array中的每個元素,並把每個元素的值賦予給$value變量。要訪問鍵和值,可以使用:
foreach($array as $key=>value)
{
echo "The array value at $key is $value";
}
eg:
<form action="2.php" method="post">
<?php
$months=array(1=>'January','February','March');
$days=range(1,12);
$years=range(2000,2011);
echo '<select name="month">';
foreach($months as $key=>$value)
{
echo "<option value="$value">$value</option>n";
}
echo "</select>";
echo '<select name="days">';
foreach($days as $key=>$value)
{
echo "<option value="$value">$value</option>n";
}
echo "</select>";
echo '<select name="years">';
foreach($years as $key=>$value)
{
echo "<option value="$value">$value</option>n";
}
echo '</select>';
?>
要確定數組中的元素個數,可以使用count()或sizeof()函數:
$var =count($array);
從PHP4.1起,range()函數也可以創建連續字符的數組:
$var=range('a','z');
在foreach循環中不必使用名稱$key和$value,但是,有些簡寫為$k和$v.
如果看到Invalid argument supplied for foreach()(為foreach()提供了無效的參數)出錯消息,這意味
著你正嘗試在不是數組的變量上使用foreach循環。