例如有一個多維陣列: 複製代碼 代碼如下: array( array( array(1,3,4), array( array( 1,2,3 ) ) ), array( array(1,2), array(1) ) ) 這個數組的深度就是5,那麼如何快速的確定一個數組深度。 (PS:T不錯的PHP Q扣峮:276167802,驗證:csl) 其實,只是上面的答案應該再進行排序就可以了。下面清源分享一個簡單的計算深度函數: 複製代碼 代碼如下: <?php function
在開發文章系統中正常需要用到HTML標籤、JS指令碼等其他指令碼代碼的過濾,稍微嘗試了下,感覺簡單的htmlspecialchars()函數的過濾效果始終不如strip_tags()函數的過濾效果好。 其中有人會說我就想還要顯示點圖片,那怎麼辦呢? 沒關係,我們對文章內容進行二次處理,正則找出某個圖片的地址,然後對整個布局動態調控下,將圖片放到最後,其效果還有可能會達到微博或者是Q空間動態那種效果,多一舉兩得啊!
互連網快速普及的現在社會,越來越多的人會在一個web應用上進行交流,因而導致伺服器與資料庫訪問壓力與日俱增,這邊就需要進行一些最佳化,譬如增加緩衝、二級緩衝、動態網頁靜態化以及其他的高端技術。 此處作者是使用產生靜態檔案的方法: 複製代碼 代碼如下: /** * @desc 產生靜態檔案時使用 * @todo htmlcache * @param $root string html檔案存放路徑 * @param $rule string html檔案命名規則 * @param $url
YII架構中封裝好了的資料庫操作函數,預設輸出的時候,將資料庫欄位名作為數組的鍵名進行輸出,但是有些時候帶有鍵名的資料不能夠滿足未知情況下的操作,譬如:資料庫資料匯出為EXCEL等比較非正常的操作。 所以這邊需要對資料庫結果集進行解析,下面就是針對這種特殊情況的一個簡單方法: 複製代碼 代碼如下: /** * @todo 針對YII 查詢輸出帶有資料庫表欄位名鍵名進行最佳化EXCEL表格輸出 * @todo 替換鍵名為0、1、2... * @param array $data *
越來越多的網站希望使用者使用郵箱進行註冊,或者是綁定郵箱,這時候就要對郵箱的正確性進行確認,有的人採用發送郵件進行啟用的方式來進行判斷,從而啟用一個賬戶,但是存在一個問題就是,在郵件發送出去之前,使用者的基本資料已經存在於資料庫中了,如果是個錯誤的郵箱或者是惡意多註冊賬戶,那就會造成非活動帳號太多,佔用資料庫儲存空間,這邊就需要在之前就進行這些郵箱的過濾,因此作者寫下下面的一個方法用來過濾郵箱。 複製代碼 代碼如下: /** * @todo 使用者輸入安全性檢測 * @param
複製代碼 代碼如下: <?php header("Content-type: image/png,charset='utf-8'"); $im = imagecreatetruecolor(400, 30); //白色 $white = imagecolorallocate($im, 255, 255, 255); //紅色 $red = imagecolorallocate($im, 255, 0, 0); //黑色 $black=imagecolorallocate($im, 0, 0
PHP 資料類型 PHP 支援八種原始類型(type)。 四種標量類型: string(字串) integer(整型) float(浮點型,也作 double ) boolean(布爾型) 兩種複合類型: array(數組) object(對象) 兩種特殊類型: resource(資源) NULL(空) 查看變數類型 通過 gettype() 函數可以方便的查看某個變數的類型: 複製代碼 代碼如下: <?php$var_bool = TRUE; // a boolean$var_str =
用php實現加減乘除計算機。代碼很簡單哦! 複製代碼 代碼如下: <?php header("content-type:text/html;charset=utf-8"); session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html
static關鍵字聲明一個屬性或方法是和類相關的,而不是和類的某個特定的執行個體相關,因此,這類屬性或方法也稱為“類屬性”或“類方法”。如果存取控制許可權允許,可不必建立該類對象而直接使用類名加兩個冒號“::”調用。static關鍵字可以用來修飾變數、方法。不經過執行個體化,就可以直接存取類中static的屬性和static的方法。static
在物件導向(OOP)語言中,一個類可以有一個或多個子類,而每個類都有至少一個公有方法作為外部代碼訪問的介面。而抽象方法就是為了方便繼承而引入的,現在來看一下抽象類別和抽象方法分別是如何定義以及他們的特點。什麼是抽象方法?我們在類裡面定義的只有方法名沒有方法體的方法就是抽象方法,所謂沒有方法體就是在方法聲明的時候沒有大括弧以及其中的內容,而是直接聲明時在方法名後加上分號結束,另外在聲明抽象方法時還要加一個關鍵字"abstract"來修飾。1、抽象關鍵字
複製代碼 代碼如下:<?php$user=trim($_GET['user']);$d=$_GET['date'];if(!$d){ $d=date('Ymd',time()-86400*14);}if(empty($user)){ echo "例如:svn_log.php?user=wang&date=20130118"; exit;}$cmd='/usr/bin/svn log -v -r {'.$d.'}:"HEAD" --username 使用者名稱
1.conn.php 複製代碼 代碼如下: <? $host="localhost"; //資料庫伺服器名稱 $user="root"; //使用者名稱 $pwd="1721"; //密碼 $conn=mysql_connect($host,$user,$pwd); mysql_query("SET character_set_connection=gb2312, character_set_results=gb2312,
範圍的概念:在PHP指令碼的任何位置都可以聲明變數,但是,聲明變數的位置會大大影響訪問變數的範圍。這個可以訪問的範圍稱為範圍。主要的常用的包括:局部變數、全域變數、靜態變數。1、局部變數:就是在函數內聲明的變數,他儲存在記憶體的棧內,所以訪問速度很快。僅在函數內有效。2、全域變數:與局部變數相反,全域變數可以在程式的任何地方訪問。只要在變數前面加關鍵字GLOBAL,就可以將其識別為全域變數。在整個php檔案內有效。3、靜態變數:用static修飾只存在於函數範圍的變數,函數執行結束後其值並不消失
複製代碼 代碼如下:<?php$long="big_long_variable_name";$$long="PHP"; /* 用存放在變數$long裡的字串作為新變數的變數名,等同於$big_long_variable_name="PHP"; */$short=& $big_long_variable_name; /*
在部署PHP項目時,有幾點需要特別注意,也是初學者比較容易忽視的點:一、下載WAMPServer後,如何安裝配置?二、如何通過用戶端管理MySQL資料庫?三、如何通過IP地址訪問PHP網站,如果在區域網路內部訪問伺服器上的PHP網站?針對第一點,注意以下內容:1、下載WAMPServer,地址可以自己去找;2、安裝WAMPServer3、此時PHP、Apache、MySQL都已經裝好,甚至可以立即訪問http://localhost,也可以通過phpMyAdmin訪問到MySQL資料庫;4、如果
我們寫程式,難免會有問題(是經常會遇到問題
資料庫使用中需要關注的主要問題之一是存取權限即使用者名稱及密碼的暴露。在編程中為了方便,一般都會用一個db.inc檔案儲存,如:複製代碼 代碼如下:<?php $db_user = 'myuser';$db_pass = 'mypass';$db_host = '127.0.0.1'; $db = mysql_connect($db_host, $db_user,
session
例如,下面WEB應用可能向登入使用者顯示敏感資訊:複製代碼 代碼如下:<?php$authenticated = FALSE;$authenticated = check_auth();if ($authenticated){ include
PHP有一個配置選項叫allow_url_fopen,該選項預設是有效。它允許你指向許多類型的資源,並像本地檔案一樣處理。例如,通過讀取URL你可以取得某一個頁面的內容(HTML),看下面的代碼複製代碼 代碼如下:<?php$contents =