php-入門

一、echo語句

1.格式

echo是PHP中的輸出語句,可以把字符串輸出(字符串用雙引號括起來,echo關鍵字與字符串之間至少有一個空格)
示例代碼:

<?php echo "Hello world!";?>

2.計算表達式

echo  120 * 3;

3.字符串

可以使用雙引號或者單引號,還可以使用(.)做鏈接符

<?php echo "Hi,shuaishuai!";?>
<?php echo 'Hi,shuaishuai!';?>
<?php echo 'Hi,'.'shuaishuai';?>

二、php變量

在PHP中,支持8中原始類型,其中包括四種標量類型、兩種復合類型和兩種特殊類型。PHP是一門松散類型的語言,不必向PHP聲明變量的數據類型,PHP會自動把變量轉換為自動的數據。

1.標量類型 - 布爾類型

布爾類型(boolean):只有兩個值,一個是TRUE,另一個FALSE,可以理解為是或否。他不區分大小寫,也就是說"TRUE"和"true"效果是一樣的。
需要注意的是,當我們用echo指令輸出布爾類型時,如果"true"則輸出是"1","false"則什么也不輸出。我們可以用var_dump函數,獲取他真正的數據類型

<?php 
    $man = "男";
    $flag = $man == "男";
    echo $flag ;
    echo "<br />" ;
    var_dump($flag);
?>

2.標量類型—整型

整型(integer):類似于常見的整數。它可以用十進制、八進制、十六進制指定。十進制就是日常使用的數字;八進制,數字前必須加上“0”(這個0是阿拉伯數字0,可不是英文字母“歐”哦);十六進制,數字前必須加“0x” (這個0也是阿拉伯數字0,不是“歐”哦)。

<?php
$data_int1 = 123;
echo $data_int1;
echo "<br />";
$data_int2 = -123;
echo $data_int2;
echo "<br />";
$data_int3 = 0123;
echo $data_int3;
echo "<br />";
$data_int4 = 0x123;
echo $data_int4;
echo "<br />";
?>

3.標量類型—浮點型

浮點型(浮點數、雙精度數或實數),也就是通常說的小數,可以用小數點或者科學計數法表示。科學計數法可以使用小寫的e,也可以使用大寫的E。

<?php
$num_float1 = 1.234;
echo $num_float1;
echo "<br />";
$num_float2 = 1.2e3;
echo $num_float2;
echo "<br />";
$num_float3 = 7.0E-3;
echo $num_float3;
echo "<br />";
?>

4.標量類型—字符串

字符串是由一系列字符組成,在PHP中,字符和字節一樣,也就是說,一共有256種不同字符的可能性。
字符串型可以用三種方法定義:單引號形式、雙引號形式和Heredoc結構形式。

<?php 
$str_string1 = '甲問:"你是在哪里學的PHP?"';
$str_string2 = "乙毫不猶豫的回答:'當然是帥哥網咯!'";
$str_string3 = '甲問:\'能告訴我網址嗎?\'';
$str_string4 = "乙答道:\"www.baidu.com\"";
echo $str_string1;
echo "<br />";
echo $str_string2;
echo "<br />";
echo $str_string3;
echo "<br />";
echo $str_string4;
echo "<br />";
?>

處理字符串很長的情況:
我們可以使用Heredoc結構形式的方法來解決該問題,首先使用定界符表示字符串(<<<),接著在“<<<“之后提供一個標識符GOD,然后是字符串,最后以提供的這個標識符結束字符串,如下:

<?php 
$string1 = <<<GOD
我有一只小毛驢,我從來也不騎。
有一天我心血來潮,騎著去趕集。
我手里拿著小皮鞭,我心里正得意。
不知怎么嘩啦啦啦啦,我摔了一身泥.
GOD;
echo $string1;
?>

注意 在賦值符號后,輸入定界符“<<<”,接著是標識符,你可以用你的女神作為標識符“GOD”,如第2行,也可以使用你喜歡的狗狗,“DOG”作為標識符,但是,結尾處的標識符也必須是一樣的。此外,在結尾的一行,如第7行,一定要另起一行,并且此行除了“GOD”,并以“;”號結束之外,不能有任何其他字符,前后都不能有,包括空格,否則會出現錯誤的哦。

5.第一種特殊類型—資源

資源(resource):資源是由專門的函數來建立和使用的,例如打開文件、數據連接、圖形畫布。我們可以對資源進行操作(創建、使用和釋放)。任何資源,在不需要的時候應該被及時釋放。如果我們忘記了釋放資源,系統自動啟用垃圾回收機制,在頁面執行完畢后回收資源,以避免內存被消耗殆盡。

<?php
$file=fopen("f.txt","r");   //打開文件
$con=mysql_connect("localhost","root","root");  //連接數據庫
$img=imagecreate(100,100);//圖形畫布
?>
<?php 
//首先采用“fopen”函數打開文件,得到返回值的就是資源類型。
$file_handle = fopen("/data/webroot/resource/php/f.txt","r");
if ($file_handle){
    //接著采用while循環(后面語言結構語句中的循環結構會詳細介紹)一行行地讀取文件,然后輸出每行的文字
    while (!feof($file_handle)) { //判斷是否到最后一行
        $line = fgets($file_handle); //讀取一行文本
        echo $line; //輸出一行文本
        echo "<br />"; //換行
    }
}
fclose($file_handle);//關閉文件
?>

6.第二種特殊類型—空類型

NULL(NULL):NULL是空類型,對大小寫不敏感,NULL類型只有一個取值,表示一個變量沒有值,當被賦值為NULL,或者尚未被賦值,或者被unset(),這三種情況下變量被認為為NULL。

<?php 
 error_reporting(0); //禁止顯示PHP警告提示
 $var;
 var_dump($var);
 $var1 = null;
 var_dump($var1);
$var2 = NULL; 
 var_dump( $var2);
 $var3 = "節日快樂!";
 unset($var3);// 釋放$var3
 var_dump($var3);
?>

三.php常量

define()函數的語法格式為:

bool define(string $constant_name, mixed $value[, $case_sensitive = true])

它有3個參數(也就是原料):

第一個參數“constant_name”為必選參數,常量名稱,即標志符,常量的命名規則與變量的一致,但是要注意哦,它可不帶美元符號哦。第二個參數“value”為必選參數,它是常量的值。第三個參數“case_sensitive”為可選參數,指定是否大小寫敏感,設定為true表示不敏感,一般不指定第三個參數的情況下,默認第三個參數的值為false。

(注: string表示參數類型為字符串類型,mixed表示參數類型可以接受為多種不同的類型,case_sensitive = true表示默認為布爾類型TRUE)

<?php
$p = "PII";
define("PI",3.14);
define($p,3.14);
echo PI;
echo "<br />";
echo PII;
?>

認識一下系統常量

系統常量是PHP已經定義好的常量,我們可以直接拿來使用,常見的系統常量有:

(1)FILE :php程序文件名。它可以幫助我們獲取當前文件在服務器的物理位置。

(2)LINE :PHP程序文件行數。它可以告訴我們,當前代碼在第幾行。

(3)PHP_VERSION:當前解析器的版本號。它可以告訴我們當前PHP解析器的版本號,我們可以提前知道我們的PHP代碼是否可被該PHP解析器解析。

(4)PHP_OS:執行當前PHP版本的操作系統名稱。它可以告訴我們服務器所用的操作系統名稱,我們可以根據該操作系統優化我們的代碼。

echo __FILE__;
echo "<br />";
echo __LINE__;
echo "<br />";
echo PHP_VERSION;
echo "<br />";
echo PHP_OS;
echo "<br />";

四、數組

索引和關聯兩個詞都是針對數組的鍵而言的。

1.索引數組

索引數組是指數組的鍵是整數的數組,并且鍵的整數順序是從0開始,依次類推。
$fruit = array("蘋果","香蕉","菠蘿");注意數組的鍵是從0開始的。可以使用print_r($fruit);語句輸出數組鍵及對應的值

1.1索引數組賦值

索引數組賦值有三種方式:

  • 第一種:用數組變量的名字后面跟一個中括號的方式賦值,當然,索引數組中,中括號內的鍵一定是整數。比如,$arr[0]='蘋果';
  • 第二種:用array()創建一個空數組,使用=>符號來分隔鍵和值,左側表示鍵,右側表示值。當然,索引數組中,鍵一定是整數。比如,array('0'=>'蘋果');
  • 第三種:用array()創建一個空數組,直接在數組里用英文的單引號'或者英文的雙引號"賦值,數組會默認建立從0開始的整數的鍵。比如array('蘋果');這個數組相當于array('0'=>'蘋果');
1.2訪問索引數組內容

有的時候我們需要把數組中的內容也就是值取出來該怎么辦呢?用數組變量的名字后跟的中括號中的鍵,來訪問數組中的值。

$fruit = array('蘋果','香蕉');
$fruit0 = $fruit['0'];
print_r($fruit0);//結果為蘋果
1.3數組的迭代
1.3.1for循環:
$fruit=array('蘋果','香蕉','菠蘿');

for($i=0; $i<3; $i++){

    echo '<br>數組第'.$i.'值是:'.$fruit[$i];

}
1.3.2foreach循環訪問索引數組里的值
$fruit=array('蘋果','香蕉','菠蘿');
foreach($fruit as $k=>$v){
    echo '<br>第'.$k.'值是:'.$v;
}

2.關聯數組

$fruit = array(

    'apple'=>"蘋果",

    'banana'=>"香蕉",

    'pineapple'=>"菠蘿"

);
2.1關聯數組賦值

關聯數組賦值有兩種方式:

  • 第一種:用數組變量的名字后面跟一個中括號的方式賦值,當然,關聯數組中,中括號內的鍵一定是字符串。比如,$arr['apple']='蘋果';
  • 第二種:用array()創建一個空數組,使用=>符號來分隔鍵和值,左側表示鍵,右側表示值。當然,關聯數組中,鍵一定是字符串。比如,array('apple'=>'蘋果');
2.2訪問關聯數組內容

用數組變量的名字后跟中括號+鍵的方式來訪問數組中的值,鍵使用單引號或者雙引號括起來。

$fruit = array('apple'=>"蘋果",'banana'=>"香蕉",'pineapple'=>"菠蘿"); 
$fruit0 = $fruit['banana'];
print_r($fruit0);
2.3foreach循環訪問關聯數組里的值

foreach循環可以將數組里的所有值都訪問到,下面我們展示下,用foreach循環訪問關聯數組里的值

$fruit=array('apple'=>"蘋果",'banana'=>"香蕉",'pineapple'=>"菠蘿");
foreach($fruit as $k=>$v){
    echo '<br>水果的英文鍵名:'.$k.',對應的值是:'.$v;
}

五、函數

1.自定義函數

PHP函數的定義方式:

  • 1.使用關鍵字“function”開始
  • 2.函數名可以是字母或下劃線開頭:function name()
  • 3.在大括號中編寫函數體:
function name() {
    echo 'Eric';
}

2.帶形參函數

function sum($a, $b) { 
    return $a+$b; 
}

3.帶返回值函數

function add($a) {
    return $a+1;
}
$b = add(1);

4.自定義函數

所謂可變函數,即通過變量的值來調用函數,因為變量的值是可變的,所以可以通過改變一個變量的值來實現調用不同的函數。經常會用在回調函數、函數列表,或者根據動態參數來調用不同的函數。可變函數的調用方法為變量名加括號

function name() {
    echo 'jobs';
}
$func = 'name';
$func(); //調用可變函數
class book {
    function getName() {
        return 'bookname';
    }
}
$func = 'getName';
$book = new book();
$book->$func();

5.內置函數

內置函數指的是PHP默認支持的函數,PHP內置了很多標準的常用的處理函數,包括字符串處理、數組函數、文件處理、session與cookie處理等。
我們先拿字符串處理函數來舉例,通過內置函數str_replace可以實現字符串的替換。下面的例子將“jobs”替換成“steven jobs”:

$str = 'i am jobs.';
$str = str_replace('jobs', 'steven jobs', $str);
echo $str; //結果為“i am steven jobs”

6.判斷函數是否存在

當我們創建了自定義函數,并且了解了可變函數的用法,為了確保程序調用的函數是存在的,經常會先使用function_exists判斷一下函數是否存在。同樣的method_exists可以用來檢測類的方法是否存在。

function func() {
}
if (function_exists('func')){
    echo 'exists';
}
class MyClass{
}
// 使用前檢查類是否存在
if (class_exists('MyClass')) {
    $myclass = new MyClass();
}
$filename = 'test.txt';
if (!file_exists($filename)) {
    echo $filename . ' not exists.';
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、php可以做什么 php是一種可以在服務器端運行的編程語言,可以運行在Web服務器端。 php是一門后臺編程語...
    空谷悠閱讀 3,142評論 4 97
  • 一.Apache基礎 1.網站幾個的基本概念 靜態網站: 不支持數據交互的網站,單純的靜態文件(HTML,CSS,...
    小Q逛逛閱讀 311評論 1 4
  • 1.Hypertxt Processing:超文本預處理工具 2.用途:第一,服務端腳本。需要三部分,web服務器...
    我在太行山下閱讀 287評論 1 2
  • 1、了解php 1.HTML中的action屬性指定跳轉的URL;method屬性規定數據發送的方法,其中有get...
    ManZb閱讀 200評論 0 0
  • 六月 黃了的不止麥子 還有鄉村泥湯的顏色 隨風而來的暴雨 染黃了莊稼漢子的臉 糧價是一個猜不透的謎 豬肉的價一直...
    無巧可言閱讀 331評論 0 1