1. 程式人生 > >php筆記(最新最詳細筆記)

php筆記(最新最詳細筆記)

算是一個入門, 對網上shocker基礎上整理

  1. ####php學習  
  2. #####基礎  
  3. ```  
  4. 1. <?php ... ?>所有程式碼都在這裡面,分號表示一句  
  5. 2. 註釋三種//, /*...*/ #  
  6. 3. 函式,類,關鍵字大小寫不敏感, 即echo和EcHo是一樣的  
  7. 4.變數以 $ 符號開頭,其後是變數的名稱; 變數名稱必須以字母或下劃線開頭; 變數名稱不能以數字開頭; 變數名稱只能包含字母數字字元和下劃線(A-z、0-9 以及 _);變數名稱對大小寫敏感($y 與 $Y 是兩個不同的變數  
  8. 這裡的變數和shell中的變數不同,不用建立,用的時候就有  
  9. 5.變數也分local和globle,函式外為globle,內部則為local;函式內部如果有globle則表示的是一個全域性  
  10. 6.static和c中的static一樣  
  11. 7.echo和print 前者快, 後者不論如何返回1,前者不返回,print可格式化輸出  
  12. 8.整數和浮點數,var_dump()會返回型別和值  
  13. 9.字串函式,很多,基本常用的函式都具備,使用時查詢手冊  
  14. strlen()  
  15. strpos("hello world","world")返回6  
  16. 10.define()類似#define可設定一個常量  
  17. 11.字串接符  
  18. $tx1=hello. $tx2=$tx1."world",則$tx2就是"helloworld",也可是.=  
  19. 12.--,++也適用   
  20. 13.<>不等於===全等(值和型別)!==不全等(值和型別都不同),
    >=,<=這個也可以表示關係型   
  21. 14.邏輯運算or,and,xor,&&,||,!  
  22. 15.陣列操作  
  23. +,==,===,!=,<>,!==  
  24. 16.php有1000多個內建函式.  
  25. //語法錯誤(syntax error)在語法分析階段,原始碼並未被執行,故不會有任何輸出。  
  26. /* 【命名規則】 */  
  27. 常量名 類常量建議全大寫,單詞間用下劃線分隔    // MIN_WIDTH  
  28. 變數名建議用下劃線方式分隔            // $var_name  
  29. 函式名建議用駝峰命名法                // varName  
  30. 定界符建議全大寫                 // <
    <<DING<<<'DING'  
  31. 檔名建議全小寫和下劃線、數字        // func_name.php  
  32. 私有屬性名、方法名建議加下劃線        // private $_name _func  
  33. 介面名建議加I_                    // interface I_Name  
  34. /* 語言結構 */  
  35. array(), echo(), empty(), eval(), exit(), isset(), list(), print(), unset()  
  36. echo, print 可省略括號。  
  37. /* 預定義常量 */  
  38. PATH_SEPARATOR  //路徑分隔符(Windows為分號,類Unix為冒號)  
  39. DIRECTORY_SEPARATOR //目錄分隔符  
  40. PHP_EOL //當前系統的換行符  
  41. PHP_VERSION //PHP版本號  
  42. PHP_OS  //PHP服務作業系統  
  43. PHP_SAPI    //用來判斷是使用命令列還是瀏覽器執行的,如果 PHP_SAPI=='cli' 表示是在命令列下執行  
  44. PHP_INT_MAX                    INT最大值,32位平臺時值為2147483647  
  45. PHP_INT_SIZE                   INT字長,32位平臺時值為4(4位元組)  
  46. M_PI    //圓周率值  
  47. M_E     //自然數  
  48. //PHP執行環境檢測函式  
  49. php_sapi_name() //返回一個PHP與WEB伺服器介面型別的小寫字串  
  50. 該函式返回值與常量PHP_SAPI一致!  
  51. 介面型別:SAPI(the Server API, SAPI)  
  52. 可能值:aolserver、apache、apache2filter、apache2handler、caudium、cgi、cgi-fcgi、cli、 continuity、embed、isapi、litespeed milter、nsapi、phttpd、pi3web、roxen、thttpd、tux、webjames  
  53. /* 大小寫問題 */  
  54. - 類名、方法名、屬性名、函式名:不區分大小寫  
  55. - 變數名、常量名、元素下標:區分大小寫  
  56. /* 可變識別符號 */  
  57. 可變變數  $i = 3; $k = 'i'; echo $$k; //輸出3  
  58. 可變函式  function func() {echo 'hello!';} $i = 'func'; $i(); //輸出hello  
  59. 可變下標  $i = '1234'; $k = 3; echo $i[$k];   //輸出4  
  60. 可變類名  class CLS{public $k = 'hello';} $i = 'CLS'; $j = new $i; echo $j->k;  
  61. 可變屬性  class CLS{public $k = 'hello';} $i = 'k'; $j = new CLS; echo $j->$i;  
  62. 可變方法  class CLS{public function k(){echo 'hello';}} $i='k'; $j=new CLS; $j->$i();  
  63. /* 可變變數 */  
  64. * 用於業務邏輯判斷得到某些具體資訊  
  65.     $var_name = "class_name";  
  66.     $$var_name = "PHP0913";        // $class_name = "PHP0913";$class_name已存入記憶體中  
  67.     var_dump($class_name);        // var_dump($$var_name);  
  68. /* 變數函式 */  
  69. get_defined_vars    //返回由所有已定義變數所組成的陣列(包括環境變數、伺服器變數和使用者定義的變數)  
  70. /* unset() */  
  71. * unset()僅刪除當前變數名和引用,其值並未被刪除  
  72. * 引用傳遞中,刪除一個變數及其引用,其他變數及引用均存在,且值依然存在  
  73.      echo "<br/>";  
  74.     $v3 = '值';  
  75.     $v4 = &$v3;  
  76.     unset($v4);  
  77.     var_dump($v3, $v4);  
  78. /* 變數的最長有效期 */  
  79. * 當前指令碼的執行週期,指令碼執行結束,變數即消失  
  80. /* 預定義變數/超全域性變數 */  
  81. $GLOBALS  
  82. $_COOKIE  
  83. $_ENV  
  84. $_FILES  
  85. $_GET  
  86. $_POST  
  87. $_REQUEST  
  88. $_SERVER  
  89. $_SESSION  
  90. /* 常量定義 */  
  91. define(常量名, 常量值, [區分大小寫引數])        //true表示不區分/false表示區分大小寫  
  92. const 常量名 = 常量值    // 新,建議  
  93. 常量名可以使用特殊字元  
  94. constant($name)        // 獲取常量名  
  95.                     // 例:echo constant('-_-');  
  96. /* 常量相關函式 */  
  97. defined  
  98. get_defined_constants  
  99. /* 預定義常量 */  
  100. __FILE__            所在檔案的絕對路徑  
  101. __LINE__            檔案中的當前行號  
  102. __DIR__            檔案所在目錄  
  103. __FUNCTION__        函式名稱  
  104. __CLASS__            類的名稱  
  105. __METHOD__        類的方法名  
  106. __NAMESPACE__        當前名稱空間的名稱  
  107. /* 整型 */  
  108. 整型佔用4位元組,共4*8=32位,最大值為2147483647,最小值為-2147483648,最小值的絕對值比最大值的大1  
  109. 最高為表示正負,1表示負,0表示正  
  110. /* 進位制轉換函式 */  
  111. 只能十進位制與其他進位制進行轉換,只有六種  
  112. 轉換時,引數應是字串(即不可含八進位制的“0”或十六進位制的“0x”)  
  113.     dec  
  114.      bin  
  115.      oct  
  116.     hex  
  117. hexdec()    十六進位制轉十進位制        也可寫hex2dec()  
  118. dechex()    十進位制轉十六進位制        也可寫dec2hex()  
  119. bindec()    二進位制轉十進位制        也可寫bin2dec()  
  120. decbin()    十進位制轉二進位制        也可寫dex2bin()  
  121. octdec()    八進位制轉十進位制        也可寫oct2dec()  
  122. decoct()    十進位制轉八進位制        也可寫dec2oct()  
  123. 相關推薦

    php筆記(最新詳細筆記)

    算是一個入門, 對網上shocker基礎上整理####php學習  #####基礎  ```  1. <?php ... ?>所有程式碼都在這裡面,分號表示一句  2. 註釋三種//, /*...*/ #  3. 函式,類,關鍵字大小寫不敏感, 即echo和EcH

    JavaScript筆記詳細的call函式和apply函式用法總結

    昨天聽了一堂直播,裡面有教到關於forEach函式的原始碼編寫,提到了call()和apply()函式,有點懵,這才發現之前我學的太快了,有很多細節沒有注意,當進行實戰時才發現漏了一些東西,現在開始查漏補缺。 今天就好好總結一下call()和apply()方法的應用。首先,這兩個函式

    最新詳細簡潔Eclipse除錯PHP配置詳解(Xdebug,Zend Debugger)

    轉自:http://lspvic.tk/2011/05/27/php-debug-config-in-eclipse-zend-xdebug/ 搬家注:該日誌寫於2011 年 04 月 07 日,Eclipse,PHP等版本號很多,更新也比較快,請注意文章中的版本。本文

    django2+uwsgi+nginx上線部署到服務器Ubuntu16.04(最新詳細版)

    鏈接 家庭 部署 txt 分享圖片 服務狀態 wsgi 國內 輸入密碼 1.前期準備 1.打開Terminal終端,執行以下命令,將項目所需要的依賴包,都記錄到一個文件內備用。 pip freeze >requirements.txt 2.將項目文件夾→右鍵→添

    CSDN部落格如何轉載別人的文章(最新詳細教程)

      前言: 我在學習和工作中遇到什麼問題,喜歡到CSDN來尋找答案,那麼問題來了,當我看到自己喜歡的文章後想轉載到自己的部落格裡,卻不知道怎麼操作,我百度了很多方法,有些方法已經是很久以前的了,現在瀏覽器更新了他們的操作步驟都不一樣了,今天我根據

    最新詳細明白的unity3d 和sharesdk 進行登入分享使用過程(引用)

    對於沒有從事過android和IOS 開發的朋友,只會使用UNITY3D,想實現微信分享等功能,實在有些費勁。 即使有ShareSDK 這樣便利的工具,我也是研究了好一陣子,才都搞明白了。 ShareSDK 官方的文件對於一點不懂android和IOS 開發的朋友來說,過程也不太清晰。 我會竟可能的把實現的過

    java方式郵件整體流程(最新詳細版)

    郵件作為較正式的溝通方式,在專案中會經常用到,無論是通知或者是審批功能,郵件都是義不容辭. 那麼專案中是發郵件的流程是什麼呢?過程如下 一,專案說明:java語言. Maven專案.SSM框架:Spring+SpringMvc+Mybatis 二,整體流程 1,建立郵

    最新詳細的黑蘋果10.13.4安裝教程

    圖文教程知乎地址:點選開啟連結視訊教程B站地址:點選開啟連結最新黑蘋果安裝教程(10.13.4)準備工作(工具包及映象在後邊)一個8G以上的U盤(有的U盤標的是8G,實際只有7.X,實際容量小於7.5G的會失敗)、MacOS映象、Transmac、分割槽工具(DiskGeni

    2018最新詳細 樹莓派3B+ QT5 串列埠收發配置與使用者程式開機自啟方法圖文教程

    2018.9.6 由於實驗室專案需要處理資料並用串列埠進行傳送,最後還要開機自啟,專門鼓搗了一番。由於網上的方案隨著樹莓派本身版本變化而不適應,因此除錯過程中也實在耗費了不少功夫。最有價值的除錯方案還是官方的英文教程:Raspberry Pi 3 UART Boot Ove

    centos7安裝python3.6.5!!!!最新詳細

    安裝python3.6可能使用相關軟體# yum groupinstall 'Development Tools'# yum install -y ncurses-libs zlib-devel mysql-devel bzip2-devel openssl-devel nc

    最新全的Docker入門視頻課程——隨堂筆記

    teacher 表示 主機 .gz try 空間 vim 服務 pen 視頻課程鏈接 http://edu.51cto.com/course/14479.html Docker容器技術,主講:湯小洋 一、Docker簡介 1. Docker是什麽? ? 產生背景: 開

    【2018版】最新全的SpringBoot 2.0入門視頻課程——筆記

    type users 數組 web app 數據對象 進行 java 管理 橫線 視頻課程鏈接:http://edu.51cto.com/course/14599.html SpringBoot,主講:湯小洋 一、SpringBoot簡介 1. SpringBoot是什麽?

    史上全、詳細的 kafka 學習筆記

    一、為什麼需要訊息系統 1.解耦:允許你獨立的擴充套件或修改兩邊的處理過程,只要確保它們遵守同樣的介面約束。 2.冗餘:訊息佇列把資料進行持久化直到它們已經被完全處理,通過這一方式規避了資料丟失風險。許多訊息佇列所採用的"插入-獲取-刪除"正規化中,在把一個訊息從佇列中刪除之前,需要你的處理系

    NS2初學筆記(三)之 詳細講解ns2執行機制

     至於第三點我解釋如下:3,至於ns2的兩種語言的互動過程網上有幾篇帖子介紹的已經非常的詳細了,但還是因為高手們把有一些東西省略了,從而對我這種初學者造成了一定的困難,為了以後的“Beginner”們能夠更快的捋順關係,早日入門ns2,我還是要按我的方法說一下。ns2是這麼做

    php持續集成環境筆記

    sudo www col dsm pla one 項目 con 引用 記錄下php集成環境中若幹個工具的安裝步驟和過程: 安裝pear wget http://pear.php.net/go-pear.phar $ php go-pear.phar 使用:pear in

    深度學習 Deep Learning UFLDL 最新Tutorial 學習筆記 4:Debugging: Gradient Checking

    style inline add tom radi posit math size tutorial 1 Gradient Checking 說明前面我們已經實現了Linear Regression和Logistic Regression。關鍵在於代價函數Cost Fun

    禪修筆記——矽谷受歡迎的情商課

    說過 cap 我會 穩定 兩種 有時 jpg 引導 超越 禪修筆記——矽谷最受歡迎的情商課 作者 寧秋風 關註 2016.01.25 21:48* 字數 4921 閱讀 1008評論 7喜歡 23 Search Inside Yourself 如何發展情商?

    sql sever 基礎知識及詳細筆記

    false 關系型數據庫 保存 ner 影響 平均值 code framwork 綁定 第六章:程序數據集散地:數據庫 6.1:當今最常用的數據庫 sql server:是微軟公司的產品 oracle:是甲骨文公司的產品 DB2:數據核心又稱DB2通用服務器

    筆記短路徑算法—Dijkstra(迪傑斯特拉)

    意思 最終 else min out 拓展 clas stream 便是 文中代碼下如下: #include<iostream> #include<cstdio> #include<fstream> #include<algor

    學習筆記小生成樹算法

    rri 重復 兩個 turn log 一個 static ide 不包含 一、普裏姆(Prim)算法 ①初始化新圖僅包含原圖中的任意一個頂點,不包含任何邊。 ②從原圖中選擇一條權值最小的邊,該邊滿足有且僅有一個頂點在新圖中。將該邊加入新圖。 ③重復直至所有頂點都在新圖中,新