PHP語言基礎

字號+ 編輯: Snake 修訂: 人在硅谷 來源: 2023-09-07 我要說兩句(0)

第一節 hello world

文档命名

文档後綴名爲 php

文档名中不可包含中文、空格、特殊符號

建議使用有意義的英文單詞命名

語言標記

標準風格

<?php.......?>

注意:

純php腳本文档要求:

  1. 開始標簽要在第一行頂頭寫;

  2. 刪除結束標簽。

1.jpg

php標簽之外是html語言環境,在純php代碼環境下,這些html字符(包括看不見的空格或者回車,制表符號)也會一同輸出,引發意外錯誤。因此,在編碼槼範中槼定:庫文档、class類文档等只要是純php代碼的文档,要刪除結尾的 ?> 結束標簽。

<!DOCTYPE html>
<html>
    <body> 
        <button>ajax異步請求</button> 
    </body>
</html>

<script src="jquery-1.11.3.min.js"></script>

<script> 
    $("button").click(function(){ 
    $.get("doAction.php",function(data){ alert(data? "ok":"no"); }) })
</script>

<?php 
    echo false; //輸出:""
?>

結束標簽後有空格,輸出:" "

所以要刪除php的結束標簽

2.jpg

注釋符與結束符

// 單行注釋
/*
  多行注釋
*/

結束符使用英文分號 “;”

$hello="hello world";

常用命令和系統函數

echo

echo輸出 : 只能輸出字符串、數字、布爾(true:1 false:空)類型的數據

<?php
    $hello="hello world"; 
    echo "<h1>{$hello}</h1>";
?>

還有一種短標簽的寫法,有著比較悠久的歷史,但出於某些神秘的安全原因,不推薦使用。以下寫法在php.ini配置文档裡如果打開了short_tag,是可以簡寫的。

<h1>
<?= $hello ?>
</h1>

相當於

<?php 
echo $hello 
?>

var_dump()

此函數顯示一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構

注意: var_dump中的變量必須是存在的,如果變量存在但值是空,則返回false 沒有變量時,則返回NULL 該函數有輸出的功能,因此不必加其它的輸出函數

5.jpg

require與include

1. require

常用於引入重要文档,若引入失敗會直接影響到當前整個腳本,引入失敗報 Error錯誤

2. include

常用於引入普通文档,若引入失敗不會對當前腳本有較大的影響,引入失敗報 Warning錯誤

3. require_once

避免重複引入,其他槼則同require

4. include_once

避免重複引入,其他槼則同include

header

用於定義 HTTP協議頭信息。

php

第二節 變量與常量

變量

聲明變量:$

命名槼則:字母數字下劃線、首字母不能爲數字、嚴格區分大小寫、且不能使用關鍵字!推薦駝峰命名法

變量銷毀:unset(變量名),被銷毀的變量在内存中被釋放

引用變量

變量引用:用不同的名字訪問同一個變量内容

$man="zhangsan";
$student=&$man; //用&符號引用
var_dump($man===$student);//true

常量

使用define關鍵字定義常量,常量命名要全部大寫,常量的數據類型不能是 資源、對象

定義常量

define("SCHOOL","清華大學");

判斷常量

var_dump( defined("SCHOOL") ); // true

變量與常量的差異

差異變量常量
定義$聲明define()函數定義
命名大小寫敏感必須大寫(行業槼範)
賦值可以重新賦值不能再賦值
數據類型8種數據類型只能是標量
銷毀unset() 銷毀不能銷毀
判斷方法isset() 判斷是否定義

defined() 判斷是否定義

作用於局部作用域全局作用域

第三節 數據類型

八種數據類型

四種標量類型

– 布爾型(boolean)

– 整 型(integer)範圍:2^32或2^64(超出自動轉換爲浮點型)

– 浮點型(float)範圍:雙精度

– 字符串(string)

兩種複合類型

– 數組型(array)

– 對象型(object)

兩種特殊類型

– 資源型(resource)

– 空 型(null)

不同進制

$number1 = 0b10; // 0b開頭 二進制 結果:2

$number2 = 0123; // 0開頭 八進制 結果:83

$number3 = 0x123; // 0X開頭 十六進制 結果:291

對象型

具有一定功能和特征的單個事物,對象是屬性和方法的集合

資源型

變量可以是文档夾、一個文档、從數據庫中得到的結果集等,操作這個變量,相當於操作這些資源。

NULL型

null也是數據,通常表示一種狀態,變量沒有任何值,就用null表示。以下情況會得到null:

直接將一個變量賦值爲null

將一個變量銷毀後再次使用該變量

直接使用一個不存在的變量

第四節 數據類型轉換

自動類型轉換

在特殊運算時,會有自動類型轉換的情況

7.jpg

null 對象

未知變量(或被銷毀變量)

強制類型轉換

改變原變量類型

使用 settype() 函數可以將一個指定變量強制轉換爲另一種指定類型

不改變原變量類型

格式:新變量 = (指定變量類型) 原變量;

強制類型轉換:不改變原變量類型

定義一個存儲變量

$old = 1;
$new; // 用於接收轉換之後的變量

開始轉換

$new = (Boolean) $old; // true
$new = (Integer) $old; // 1
$new = (Float) $old; //float 1
$new = (String) $old; // "1"
$new = (Array) $old; // Array
$new = (Object) $sum; // Object

常用變量檢測函數

8.jpg

常用數學運算函數

9.jpg

第五節 字符串

三種定義方式

11.jpg

$num = 10;

單引號

$title = 'hxsd'.$num.'beijing';

雙引號 支持解析變量,不能解析表達式,例如:{$hxsd+1}

$school ="<div id='box'><h1>{$hxsd}</h1></div>";

定界符(可以任意取名)

$str2 = <<<mark<div id='box'><h1 class="main">{$hxsd}</h1></div>mark;

注意:

定界符中可以使用單、雙引號,可以解析變量

定界符中的字符串,會保留所有格式,包括各種空格(盡量頂格寫,避免開始的空格)

結束標記一定要頂格寫

開始、結束標記(上面代碼中的‘mark’)後不能再有空格等字符(包括注釋語句也不能有)

字符串支持折行,注意:折行位置會多一個空格

$txt="abcdefghijk"; //顯示結果:abcd efghijk

常用字符串操作函數

13.jpg

第六節 數組

數組類型

關聯式數組:下標爲有意義的字符串

索引式數組:下標爲默認從0開始的數值

定義數組

直接賦值方式定義

$a[] = 10;
$a[] = 20;
$a['name'] = '張三';
$a['sex'] = '男';

結果

/**
 * 0 => int 10
 * 1 => int 20
 * 'name' => string '張三' (length=9)
 * 'sex' => string '男' (length=3)
 */

使用array()函數

$b = array(10,20,30);
$b = array('name'=>'張三', 'sex'=>'男', 'age'=>28);

快捷賦值

$c = [10,20,30];$c = ['name'=>'張三','sex'=>'男','age'=>28];

二維數組與多維數組

二維數組

$group = array('one'=>array('張三','李四','王五'), 'two'=>array('趙六','孫七'),);

定義一個三維數組

$class = array('class01'=>array( 'one'=>array('張三','李四','王五'), 'two'=>array('趙六','孫七'), ), 'class02'=>array( 'one'=>array('張三','李四','王五'), 'two'=>array('趙六','孫七'), ););

獲取李四

echo $class['class02']['one'][1]; //李四

數組的遍歷

for遍歷索引數組

$arr=[11,22,33,44,55];
for($i=0; $i<count($arr); $i++) {
    var_dump($arr[$i]);
};

foreach

$f_arr=["name"=>"zhangsan","age"=>18,"sex"=>"m"];
foreach ($f_arr as $key=>$value) {
    echo $key.":".$value."<br>";
};

list(只用於索引數組)

list($a,$b,$c,$d,$e) = ["張三","李四","王五","小明","小紅"];
echo $a, $b, $c, $d, $e;

數組的輸出

$b = 3.1;
$c = true;
var_dump($b,$c);
/* 輸出: float(3.1) bool(true) */

複制數組

$arr1=[111,222,333];$arr2=$arr1;
// $arr2是個新數組
var_dump($arr2===$arr1); // false

用&引用數組

$arr3 = &$arr1;
var_dump($arr3 === $arr1); // true

數組常用函數

14.jpg

數組轉JSON

15.jpg

第七節 運算符

16.jpg

$a=10;
$b=20;
$c="hxsd";

數字與數字相加:數學運算

echo $a+$b; // 30

數字與字符串相加

echo $a+'2018你好'; // 2028 數字開頭爲2018
echo "2018你好"+$a; // 2028 同上
echo $a+'你好2018'; // 10 以字母開頭字符串,轉換成0
echo "你好2018"+$a; // 10 同上

數字與bool值

echo $a+true; // 11 true:1 false:0
閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • mac開發接入微信公衆號接口返回報錯 cURL error 56: SSLRead() return error -9806

  • PHP的換行符是什麽

  • pecl安裝程序時報錯Array and string offset access syntax with curly braces is no longer supported

  • 由於商家傳入的H5交易參數有誤,該筆交易暫時無法完成,請聯繫商家解決

我要說說
網上賓友點評