一、總述
雖然PHP是弱類型語言,但是有時仍然需要用到類型轉換。下面寫一下類型轉換和定義變數以及變數賦值。
1.1 類型轉換
PHP中的類型轉換和C語言一樣,非常簡單,只需在變數前加上用括弧括起來的類型名稱即可。
[php] view plaincopy
- //類型轉換 說明:使用操作符轉換變數的時候,不會改變原有的值,而使用settype函數轉換時,改變了原有的值
- $num = '3.1415926r';
- echo '使用(integer)操作符轉換變數$num類型:'. (integer)$num;
- echo '
';
- echo '輸出變數$num的值:'. $num;
- echo '
';
- echo '使用settype函數轉換變數$num類型結果:'. settype($num,'integer');
- echo '
';
- echo '輸出變數$num的值:'. $num;
- echo '
';
- ?>
其中的settype()函數,可以將指定的變數轉換為指定的資料類型。
PHP中有一些函數可以用來檢測變數是否為指定的類型,比如is_bool()則是檢測是否為布爾類型,is_string()檢測是否為字串類型等等。
1.2 定義常量
常量可以理解為值不變的量,常量值被定義後,在指令碼的其他任何地方都不能改變,文法為:define(constant_name,value,case_sensitive),三個參數分別為常量名稱(必選),常量的值(必選),是否大小寫敏感(可選)。常量擷取的方法有兩種:第一種就是直接使用變數名擷取;第二種就是通過constant()函數擷取。要判斷一個常量是否已經定義,可以使用defined(stringName)函數,成功返回true,否則返回false。
[php] view plaincopy
- //定義常量:define(),擷取常量的值:constant(),判斷常量是否被定義:defined()
- define('Message','常量的值');
- echo Message. '
';
- define('count1','常量的值2');
- echo count1;
- $name = 'count1';
- echo constant($name). '
'; //其實輸出的count的這個常量
- echo defined('Message'). '
';
- ?>
[php] view plaincopy
- //預定義常量
- echo '當前檔案路徑:'. __FILE__. '
';
- echo '當前行數:'. __LINE__. '
'; //82
- echo '當前PHP版本資訊:'. PHP_VERSION. '
';
- echo '當前作業系統:'. PHP_OS;
- echo '
';
- ?>
1.3定義變數以及變數賦值
和很多語言不同,在PHP中使用變數之前是不需要聲明變數(PHP4.0之前是需要聲明變數),只需要為變數賦值即可。
[php] view plaincopy
- //變數的賦值
- //第一種:變數直接賦值,例如$E='ss';
- //第二種:變數之間的賦值,變數之間的賦值是指賦值後兩個變數使用各自的記憶體,顧不干擾;
- //第三種:引用賦值,引用的概念就是,當改變其中一個變數的值時,另一個也跟著發生改變,使用&符號表示引用。
-
- //變數之間的賦值
- $string1 = 'spcn';
- $string2 = $string1;
- $string1 = 'zhuangjia';
- echo '變數string2的值為:'.$string2.'
';
- echo '變數string1的值為:'.$string1.'
';
-
- echo '
';
-
- //引用賦值
- $i = 'spcn';
- $j = & $i;
- $i = "hello,$i";
- echo 'j的值為:'. $j.'
';
- echo 'i的值為:'. $i.'
';
- ?>
[php] view plaincopy
- //全域變數可以在程式中的任何地方訪問,但是在使用者自訂的函數中是停用。如果想用的話,使用global關鍵字聲明。
- $zy = '不會看到';
- $zyy = '會看到';
- function lxt(){
- // echo $zy .'
';
- global $zyy;
- echo $zyy.'
';
- }
- lxt();
- ?>
-
- //可變變數
- $change_name = 'trans';
- $trans = 'you are met';
- echo $change_name.'
';
- echo $$change_name; //實現原理類似逸出字元,$change_name 代表了trans,然後再加上一個$符號,即輸出的是$trans
- echo '
';
- ?>
1.4 運算子
運算子和別的語言一樣,包括+ — * / () | ^ ~ <<等等,但是這裡我需要說明一下,PHP裡邊即使使用除號除數為0,也可以規避錯誤不影響運行。還有就是三運運算子
[php] view plaincopy
- //@運算子:對錯誤資訊進行屏蔽
- $err = @(5/0);
- echo $err.'
';
- ?>
-
- //三元運算子
- $value = 100;
- $res = ($value == 100)?'三元運算':'沒有改值';
- echo '哈哈'.$res.'
';
- echo '
';
- ?>
1.5函數
函數,就是將一些重複使用到的功能寫在一個獨立的代碼快中,在需要的時候單獨調用,建立函數文法:function fun_name($str1,$str2....$strn){},然後調用的時候fun_name(XXX)。
[php] view plaincopy
- //簡單函數
- function countNumber($num1,$num2){
- return "$num1 * $num2 = ".$num1 * $num2.'
';
- }
- echo countNumber(10,10);
- echo '
';
-
- //函數之間傳遞參數
- //按值傳遞方式
- function example($m){
- $m = $m * 5 + 10;
- echo '在函數內$m的值為:'.$m.'
';
- }
- $mm = 1;
- example($mm);
- echo '函數外$m的值為:'.$mm.'
';
- echo '
';
-
- //按引用傳遞方式
- function example1(&$m){
- $m = $m * 5 + 10;
- echo '在函數內$mmm的值為:'.$m.'
';
- }
- $mmm = 1;
- example1($mmm);
- echo '函數外$mmm的值為:'.$mmm.'
';
- echo '
';
-
- //選擇性參數,其中$tax就是選擇性參數,填也行,不填也行
- function values($price,$tax=""){
- $price += $tax;
- echo '價格為:'.$price.'
';
- }
- values(100,20);
- values(100);
- echo '
';
-
- //對函數本身引用
- function &rExample2($tmp=0){
- $tmp = $tmp.'123456';
- return $tmp;
- }
- $str5 = &example2("kankan");
- echo $str5.'
';
- ?>
以上就介紹了小胖學PHP總結2-----PHP的b變數和賦值,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。