Time of Update: 2017-06-25
wwwroot //網站根目錄 絕對路徑為: F:/wwwroot-- folder_a // 檔案夾A file_a_a.php file_a_b.php file_a_c.php-- folder_b // 檔案夾Bfile_b_a.php file_b_b.php file_b_c.php--
Time of Update: 2017-06-25
以前看一些PHP架構源碼的時候,很奇怪在檔案包含的時候,會用dirname(FILE)來拼湊檔案路 徑,不知道這樣做有什麼好處,後來終於發現了其中的緣由。我們來看一個簡單的例子:有a,b,c三個php檔案。a.php在網站根目錄,b.php在b檔案夾下——b/b.php,c.php在 c檔案夾下——c/c.php。有些混亂?看圖就一目瞭然了:a.php 和 b.php 都包含了 c.php,最後 c.php 包含了d檔案夾下的一個php檔案
Time of Update: 2017-06-25
一、使用return,輸出無內容;但是二執行個體中,將return改為echo,就會有結果1000;三執行個體中同樣使用return,結果卻有了,同為1000;具體原因是:echo為輸出值;return為傳回值卻不輸出,若想有輸出需要再次使用echo輸出。<?class Human{ private $money = 1000; public function showMoney(){ return $this->money; }}$money = new Human();
Time of Update: 2017-06-25
【轉】switch與if的區別如果純粹比較數字或字元,建議使用switch,因為它只會在一開始的switch括弧中取出變數值一次,然後將這個值與下面所設定的case比較,但如果使用if,每次遇到條件式時,都要取出變數值,效率的差異就在這兒。例如:if(a == 1) //... else if(a == 2) //... else if(a == 3) //...這個程式片段在最差的狀況下,也就是a = 3時,共需3次比較,而每次比較都必須取出變數a的值一次。如果換成switch:switch(
Time of Update: 2017-06-25
早晨在寫一個PHP的程式,因為要處理很大的資料量,所以不得不考慮已耗用時間的問題。然後在計算每項的權值時遇到了問題,在考慮應該用switch-case還是if-else,在網上看了一下,大家都說switch-case的效率要比if-else高的多,自己寫了幾個程式測試了一下,是這樣的,尤其在大量的資料和多個條件下switch-case表現出來的效率要比if-else高很多,其實這也是可以理解的,因為switch-case的比較判斷語句很集中,這樣cache不會因為不停的進行比較判斷分支而發生重新
Time of Update: 2017-06-24
php中 declare作用:一般用法是 declare(ticks=N);拿declare(ticks=1)來說,這句主要作用有兩種:1、Zend引擎每執行1條低級語句就去執行一次 register_tick_function() 註冊的函數。可以粗略的理解為每執行一句php代碼(例如:$num=1;)就去執行下已經註冊的tick函數。一個用途就是控制某段代碼執行時間,例如下面的代碼雖然最後有個死迴圈,但是執行時間不會超過5秒。運行 php
Time of Update: 2017-06-24
ThinkPHP的IF標籤可以用來定義複雜的條件判斷,例如:<if condition="($name eq 1) OR ($name gt 100) "> value1<elseif condition="$name eq 2" />value2<else /> value3</if>注意:在condition屬性中可以支援eq等判斷運算式
Time of Update: 2017-06-24
在PHP程式開發中,檔案上傳是一個使用非常普遍的功能,也是PHP程式員的必備技能之一。值得高興的是,在PHP中實現檔案上傳功能要比在Java、C#等語言中簡單得多。要使用PHP實現檔案上傳功能,我們先來編寫兩個php檔案:index.php和upload.php。其中,index.php頁面用於提交檔案上傳的表單請求,upload.php頁面用於接收上傳的檔案並進行相應處理。首先,我們來編寫一個簡單的index.php檔案,由於其中涉及的主要是html代碼,比較簡單,因此不再贅述,index.p
Time of Update: 2017-06-24
介紹三種多檔案上傳的方法,前兩種都是直接遍曆三維超全域數組$_FILES,最後一種是先定義一個單檔案上傳函數,再迴圈調用該函數,完成多檔案的上傳。1.當多檔案上傳表單中多個上傳檔案的name屬性為“pic[]”形式時, 也即表單為這種形式: <!--lang:html--><form action="" method="post" enctype="multipart/form-data"> <
Time of Update: 2017-06-24
header() is used to send rawheaders. See the HTTP/1.1 specification for more information onheaders. 範例一: <?PHPHeader("Location: http://www.php.cn"); exit;//在每個重新導向之後都必須加上“exit",避免發生錯誤後,繼續執行。?>-------------------------------------
Time of Update: 2017-06-24
Output Control 函數可以讓你自由控制指令碼中資料的輸出。它非常地有用,特別是對於:當你想在資料已經輸出後,再輸出檔案頭的情況。輸出控制函數不對使用 header() 或 setcookie(), 發送的檔案頭資訊產生影響,只對那些類似於 echo() 和 PHP 代碼的資料區塊有作用。 我們先舉一個簡單的例子,讓大家對Output Control有一個大致的印象: Example 1. <?php ob_start(); //開啟緩衝區 echo \"Hellon\
Time of Update: 2017-06-24
首先來說說buffer,它是一個記憶體位址空間,為4096(1kb)【在php.ini設定檔中找到output_buffering配 置】,php有php output_buffering機制,php代碼在執行的時候,並不是立即將內容輸出,而是想將echo/print內容輸出到buffer,buffer滿的時候才會將資料交給系統核心交由tcp傳給瀏覽器顯示,當開啟php php output_buffering機制(預設是開啟的,可以通過ob_start()函數開啟)後,只有當php
Time of Update: 2017-06-24
PHP程式的緩衝,而不論PHP執行在何種情況下(CGI ,web伺服器等等)。該函數將當前為止程式的所有輸出發送到使用者的瀏覽器。 flush() 函數不會對伺服器或用戶端瀏覽器的緩衝模式產生影響。因此,必須同時使用 ob_flush() 和flush() 函數來重新整理輸出緩衝。 個別web伺服器程式,特別是Win32下的web伺服器程式,在發送結果到瀏覽器之前,仍然會緩衝指令碼的輸出,直到程式結束為止 自己寫了個小例子,想在頁面每隔一秒輸出一個數字。 按照網上的代碼:
Time of Update: 2017-06-24
PHP中switch語句的標準文法:switch (expression){case label1: code to be executed if expression = label1; break;case label2: code to be executed if expression = label2; break;default: code to be executed if expression is different from both label1 and
Time of Update: 2017-06-24
switch的常規用法是傳遞一個參數然後逐一跟case對比;switch (variable) { case 'value': // code... break; default: // code... break;}在分支比較多的時候;switch要比if else if好用;比如;if('value'){ // code...}else if('value2'){
Time of Update: 2017-06-24
文法:string substr(string $string ,int $start [, int $length ]),它可以用於在一個較長的字串中尋找匹配的字串或字元,$string為所要處理的字串,$start為開始選取的位置,$length為要選取的長度.$length 為正資料從左向右讀取字元.$length 為負數時就右向左讀取字元.string 必需,規定要返回其中一部分的字串.start 必需,規定在字串的何處開始.charlist
Time of Update: 2017-06-24
unset函數是php內建的一個銷毀變數的函數,我們介紹了利用unset來銷毀靜態變數與全域變數的方法,同時出可以銷毀陣列變數哦,下面我們看執行個體。例 1. unset() 樣本<?php// 銷毀單個變數unset ($foo);// 銷毀單個數組元素unset ($bar['quux']);// 銷毀一個以上的變數unset ($foo1, $foo2, $foo3);?>unset() 在函數中的行為會依賴於想要銷毀的變數的類型而有所不同。如果在函數中
Time of Update: 2017-06-24
茴香豆的“茴”字有四種寫法,PHP從數組中刪除元素也有四種方法 。刪除一個元素,且保持原有索引不變使用 unset 函數,樣本如下:<?php $array = array(0 => "a", 1 => "b", 2 => "c"); unset($array[1]); //↑ 你想刪除的key?>輸出:Array ( [0] => a [2] => c)使用
Time of Update: 2017-06-24
以前在去掉數組的空值是都是強寫foreach或者while的,利用這兩個文法結構來刪除數組中的空元素,簡單代碼如下:<?php foreach( $arr as $k=>$v){ if( !$v ) unset( $arr[$k] ); }
Time of Update: 2017-06-23
foreach()有兩種用法:1: foreach(array_name as $value){ statement;} 這裡的array_name是你要遍曆的數組名,每次迴圈中,array_name數組的當前元素的值被賦給$value,並且數組內部的下標向下移一步,也就是下次迴圈回得到下一個元素。2:foreach(array_name as $key => $value){ statement; } 這裡跟第一種方法的區別就是多了個$