小胖學PHP總結2-----PHP的b變數和賦值

來源:互聯網
上載者:User
一、總述

雖然PHP是弱類型語言,但是有時仍然需要用到類型轉換。下面寫一下類型轉換和定義變數以及變數賦值。

1.1 類型轉換

PHP中的類型轉換和C語言一樣,非常簡單,只需在變數前加上用括弧括起來的類型名稱即可。

[php] view plaincopy

  1. //類型轉換 說明:使用操作符轉換變數的時候,不會改變原有的值,而使用settype函數轉換時,改變了原有的值
  2. $num = '3.1415926r';
  3. echo '使用(integer)操作符轉換變數$num類型:'. (integer)$num;
  4. echo '

    ';

  5. echo '輸出變數$num的值:'. $num;
  6. echo '

    ';

  7. echo '使用settype函數轉換變數$num類型結果:'. settype($num,'integer');
  8. echo '

    ';

  9. echo '輸出變數$num的值:'. $num;
  10. echo '

    ';

  11. ?>

其中的settype()函數,可以將指定的變數轉換為指定的資料類型。

PHP中有一些函數可以用來檢測變數是否為指定的類型,比如is_bool()則是檢測是否為布爾類型,is_string()檢測是否為字串類型等等。

1.2 定義常量

常量可以理解為值不變的量,常量值被定義後,在指令碼的其他任何地方都不能改變,文法為:define(constant_name,value,case_sensitive),三個參數分別為常量名稱(必選),常量的值(必選),是否大小寫敏感(可選)。常量擷取的方法有兩種:第一種就是直接使用變數名擷取;第二種就是通過constant()函數擷取。要判斷一個常量是否已經定義,可以使用defined(stringName)函數,成功返回true,否則返回false。

[php] view plaincopy

  1. //定義常量:define(),擷取常量的值:constant(),判斷常量是否被定義:defined()
  2. define('Message','常量的值');
  3. echo Message. '
    ';
  4. define('count1','常量的值2');
  5. echo count1;
  6. $name = 'count1';
  7. echo constant($name). '
    '; //其實輸出的count的這個常量
  8. echo defined('Message'). '
    ';
  9. ?>

[php] view plaincopy

  1. //預定義常量
  2. echo '當前檔案路徑:'. __FILE__. '
    ';
  3. echo '當前行數:'. __LINE__. '
    '; //82
  4. echo '當前PHP版本資訊:'. PHP_VERSION. '
    ';
  5. echo '當前作業系統:'. PHP_OS;
  6. echo '

    ';

  7. ?>

1.3定義變數以及變數賦值

和很多語言不同,在PHP中使用變數之前是不需要聲明變數(PHP4.0之前是需要聲明變數),只需要為變數賦值即可。

[php] view plaincopy

  1. //變數的賦值
  2. //第一種:變數直接賦值,例如$E='ss';
  3. //第二種:變數之間的賦值,變數之間的賦值是指賦值後兩個變數使用各自的記憶體,顧不干擾;
  4. //第三種:引用賦值,引用的概念就是,當改變其中一個變數的值時,另一個也跟著發生改變,使用&符號表示引用。
  5. //變數之間的賦值
  6. $string1 = 'spcn';
  7. $string2 = $string1;
  8. $string1 = 'zhuangjia';
  9. echo '變數string2的值為:'.$string2.'
    ';
  10. echo '變數string1的值為:'.$string1.'
    ';
  11. echo '

    ';

  12. //引用賦值
  13. $i = 'spcn';
  14. $j = & $i;
  15. $i = "hello,$i";
  16. echo 'j的值為:'. $j.'
    ';
  17. echo 'i的值為:'. $i.'
    ';
  18. ?>

[php] view plaincopy

  1. //全域變數可以在程式中的任何地方訪問,但是在使用者自訂的函數中是停用。如果想用的話,使用global關鍵字聲明。
  2. $zy = '不會看到';
  3. $zyy = '會看到';
  4. function lxt(){
  5. // echo $zy .'
    ';
  6. global $zyy;
  7. echo $zyy.'
    ';
  8. }
  9. lxt();
  10. ?>
  11. //可變變數
  12. $change_name = 'trans';
  13. $trans = 'you are met';
  14. echo $change_name.'
    ';
  15. echo $$change_name; //實現原理類似逸出字元,$change_name 代表了trans,然後再加上一個$符號,即輸出的是$trans
  16. echo '

    ';

  17. ?>


1.4 運算子

運算子和別的語言一樣,包括+ — * / () | ^ ~ <<等等,但是這裡我需要說明一下,PHP裡邊即使使用除號除數為0,也可以規避錯誤不影響運行。還有就是三運運算子

[php] view plaincopy

  1. //@運算子:對錯誤資訊進行屏蔽
  2. $err = @(5/0);
  3. echo $err.'
    ';
  4. ?>
  5. //三元運算子
  6. $value = 100;
  7. $res = ($value == 100)?'三元運算':'沒有改值';
  8. echo '哈哈'.$res.'
    ';
  9. echo '

    ';

  10. ?>

1.5函數

函數,就是將一些重複使用到的功能寫在一個獨立的代碼快中,在需要的時候單獨調用,建立函數文法:function fun_name($str1,$str2....$strn){},然後調用的時候fun_name(XXX)。

[php] view plaincopy

  1. //簡單函數
  2. function countNumber($num1,$num2){
  3. return "$num1 * $num2 = ".$num1 * $num2.'
    ';
  4. }
  5. echo countNumber(10,10);
  6. echo '

    ';

  7. //函數之間傳遞參數
  8. //按值傳遞方式
  9. function example($m){
  10. $m = $m * 5 + 10;
  11. echo '在函數內$m的值為:'.$m.'
    ';
  12. }
  13. $mm = 1;
  14. example($mm);
  15. echo '函數外$m的值為:'.$mm.'
    ';
  16. echo '

    ';

  17. //按引用傳遞方式
  18. function example1(&$m){
  19. $m = $m * 5 + 10;
  20. echo '在函數內$mmm的值為:'.$m.'
    ';
  21. }
  22. $mmm = 1;
  23. example1($mmm);
  24. echo '函數外$mmm的值為:'.$mmm.'
    ';
  25. echo '

    ';

  26. //選擇性參數,其中$tax就是選擇性參數,填也行,不填也行
  27. function values($price,$tax=""){
  28. $price += $tax;
  29. echo '價格為:'.$price.'
    ';
  30. }
  31. values(100,20);
  32. values(100);
  33. echo '

    ';

  34. //對函數本身引用
  35. function &rExample2($tmp=0){
  36. $tmp = $tmp.'123456';
  37. return $tmp;
  38. }
  39. $str5 = &example2("kankan");
  40. echo $str5.'

    ';

  41. ?>


以上就介紹了小胖學PHP總結2-----PHP的b變數和賦值,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.