1.PHP基本之語法
1.PHP基本語法
1、html 和 php 混編
2、一個語句以 ; (分號結束)
3、如何定義一個變數,和變數的使用
4、變數的資料型別不是固定不變的
5、php是弱資料型別程式語言,不需要事先定義型別,變數型別與賦值相關
$a = 100;
$a = “abc”;
6.php 的變數名,以字母或者下劃線開頭,不能以數字或特殊字元開頭,區分大小寫。
2.基本資料型別
- php基本資料型別(標量型別)
- php複合資料型別
- 特殊資料型別
■ 整型
整數型別可以表示一個整數,比如:
$ts=1; $ts=-12;
■ 布林型別
布林型可以表示真或者假,比如:
$ts=true; $ts=false;
■ 小數型別
小數型別可以表示一個小數(float,double)
$ts=1.12;
$ts=3.1415926
■ 字串型別
字串型別可以表示一個字串
$ts=“我是一個好人 hello”
3.定義變數
什麼是定義變數?
$a=1.21; 表示定義了一個變數,表示一個小數型別的小數,變數名是$a , 變數名命名的規範(一般數字,字母,_組成但是不要以數字開頭, 變數名字不能有特殊字元比如- .@#$%等)
整型
-
整型值可以使用十進位制,十六進位制0x打頭 或 八進位制 0打頭 表示
$a = 1234; // 十進位制數
$a = -123; // 負數
$a = 0123; // 八進位制數 (等於十進位制 83)
$a = 0x1A; // 十六進位制數 (等於十進位制 26) -
php不支援無符號整數,即php中的整數都是有符號的.
-
php 最大值 PHP_INT_MAX 表示 (最大的整數佔4個位元組,2^31-1)
布林型
-
要指定一個布林值,使用關鍵字 TRUE 或 FALSE,不區分大小寫
-
以下值都會被當做false對待
布林值
FALSE 自身
整型值 0
(零)
浮點型值 0.0
(零)
空
, 以及 字串 "0"
不包括任何元素的空陣列
不包括任何成員變數的物件(僅PHP 4.0 適用)
特殊型別 NULL
從空標記生成的 SimpleXML 物件
浮點型
1.浮點數(也叫雙精度數或實數)
2.案例
<?php $a = 1.234 ; $b = 1.2e3 ; $c = 7E-10 ; echo $c; ?>
字串
-
一個字串 就是由一系列的字元組成,因此:
一個字母 佔一個位元組
一個數字 佔一個位元組
漢字(gb2312/gbk) 佔兩個位元組
漢字(utf-8) 佔三個位元組
-
字串常見的定義方法
- heredoc(定界識別符號)字串的說明
-
可以對變數進行解析
-
定界識別符號全部大寫
-
起始定界識別符號後每半年有任何內容,包括空格
-
結束定界識別符號必須換行並定格
4.資料型別轉換
自動轉換
<?php
$a = 90;
echo $a.'<br/>’;
$b = 8.90;
echo $b;
$res=$a + $b;
var_dump($res);
?>
-
PHP變數使用的上下文在執行時決定的,可以通過var_dump($變數1,$變數2,...)方式來顯示其型別
-
在運算的時候,資料型別會向高精度轉換 bool<int<float
5.表示式
表示式是 PHP 最重要的基石。在 PHP 中,幾乎所寫的任何東西都是一個表示式。最精確的定義一個表示式的方式就是“任何有值的東西”。
算術運算子
①+ 加
②- 減
③* 乘
④/ 除
⑤% 取模:% 運算可以得到兩個數相除的餘數。
編寫一個php程式判斷兩個數是否能夠整除?
$num1 = 80;
$num2 = 9;
If ( $num1 % $num2 == 0)
{
echo 'num1能被num2整除~’;
}
else
{
echo "num1不能被num2整除.";
}
運算子
-
比較運算子
問輸出什麼
$a = 90;
$b = 90;
if($a == $b){ echo “ok1”;}
$b--;
if($a > $b){ echo “ok2”;}
if($a >= $b){ echo “ok3”;}
請問輸出什麼:
-
字串運算子
兩個字串,使用連線運算子(“.”)
<?php
$a="Hello";
$b=$a."World!";
echo $b . "<br>";
$a="Hello";
$a.="World!";
echo $a;
?>
- 三元運算子
表示式 (expr1) ? (expr2) : (expr3)
規則:在 expr1 求值為 TRUE 時的值為 expr2,
在 expr1 求值為 FALSE 時的值為 expr3
$a = 1==1?45:89;
echo $a;
練習
寫出如下程式的輸出結果
6.三大流程控制
順序控制
程式順序執行
$a = 7;
echo “a=”. $a;
echo “hello!”;
$a++;
echo “a=”. $a;
echo “O(∩_∩)O”;
$a++;
echo “a=” . $a
分支控制
分支控制有三種: ①單分支 ②雙分支 ③多分支
-
單分支語法:
if(條件表示式){
語句塊;
}
-
雙分支語法:
-
if(條件表示式){
語句;
}else{
語句;}
多分支
-
if(條件表示式){
語句;
}else if條件表示式){
語句;
}else if(條件表示式){
語句;
}else{語句;}
-
$a="1";
switch($a){
case 1:
echo 'hello1';
break;
case 2:
echo 'hello2';
break;
default:
echo 'default';
}
-
1.case後若缺失break,則繼續執行下一個case中的語句;
2.php 中 非0即為true,0為false;
3. default放在前或後,不影響case的匹配。
迴圈控制
-
For迴圈基本語法結構
for(迴圈初值**; **迴圈的條件****; 步長){
//n多語句;
}
-
while迴圈
說明: while迴圈是先判斷再執行語句
使用while迴圈輸出10句 “hello world! “
$i = 0; while($i < 10 ) { echo "hello, world! " ; $i++; }
-
do while迴圈
說明:do while迴圈是先執行,再判斷,輸出**10句 **"hello, world!"
$i = 0; do{ echo "hello, world! " ; $i++; // $i = $i + 1; } while($i < 10 )
請編寫一個程式,$n 表示層數,打印出金字塔一半。
-
break 語句
break 結束當前 **for ** , **while ** , do-while 或者 switch 結構的執行 。
break 可以接受一個可選的數字引數來決定跳出幾重迴圈。
-
continue 語句
- 跳過本次迴圈中剩餘的程式碼並在條件為真時開始執行下一次迴圈,continue可接受一個可選的數字引數來決定跳過幾重迴圈到迴圈結尾
7.常量
1.定義常量前面不需要 $
2.常量一旦定義,則不能修改其值
3.常量在定義的時候,就需要它賦初值.
4.常量可以通過 define 或者 const
5.常量的名稱,一般全部大寫,用下劃線間隔
6.什麼時候需要使用常量?程式中不希望某個值變化,考慮使用常量,比如圓周率,稅率....
<?php
//第一種方法
define("TAX_RATE",0.08);
echo TAX_RATE;
//第二種方法(php5.3)
const TAX_RATE2=0.1;
echo '-'.TAX_RATE2;
?>