Time of Update: 2016-07-29
複製代碼 代碼如下:$arr = array(345,4,17,6,52,16,58,69,32,8,234); for($i=1;$ifor($j=count($arr)-1;$j>=$i;$j--){ if($arr[$j]$temp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $temp; } } } 基本概念冒泡排序的基本概念是:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即首先比較第1
Time of Update: 2016-07-29
今天在測試php程式的時候,出現了一個錯誤提示:Cannot use a scalar value as an array,這個錯誤提示前幾天也出過,當時好像稍微調了一下就好了,也沒深究,今天卻又出現了。 不能再糊弄了,得找出原因和解決辦法,於是我就去網上搜啊找啊,找了很久都沒找到結果,不是網上搜不到這樣的問題,而是很少有人做正面的準確的回答。最後這篇文章的一段文字讓我一下子弄明白了怎麼回事。 —————————————- 需要注意的是類型的轉換:
Time of Update: 2016-07-29
php面試題題目如下: 複製代碼 代碼如下:$a = 1; $x =&$a; $b=$a++; ?> 問: $b和$x的值分別是什嗎? php面試題的答案如下: $b = 1; $x = 2; 明白了嗎? 沒明白,再好好想想。 當一個變數等於另一個變數的引用的時候,這時任何一方改變了其值,另一方看到的這個值也會變化的。前加本次就表現出來,而後加下一次才會表現出來。
Time of Update: 2016-07-29
在 Javascript 中,可以利用 escape/unescape() 和 eval_r() 函數進行簡單的轉碼處理,讓普通的 URL 網址看起來比較怪異,使那些令人討厭的搜尋爬蟲無法辨認你希望隱藏的資源。這裡,一般都需要預先將正常的字串編碼成 JavaScript unescape() 函數能夠解譯的格式,以 PHP 為例,可以使用以下函數實現 Javascript 中 escape() 函數相同的功能: 代碼如下:<?php function
Time of Update: 2016-07-29
php面試題的題目: $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; //計算出 $b 相對於 $a 的相對路徑應該是 ../../c/d php面試題的答案: 複製代碼 代碼如下:function getRelative($a,$b) { $arr = explode("/",$a); $brr = explode("/",$b); $c = count($arr)-2; $d = count($brr)-2;
Time of Update: 2016-07-29
GB2312編碼: 複製代碼 代碼如下:function unescape($str) { $str = rawurldecode($str); preg_match_all("/%u.{4}|.{4};|d+;|.+/U",$str,$r); $ar = $r[0]; foreach($ar as $k=>$v) { if(substr($v,0,2) == "%u") $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
Time of Update: 2016-07-29
是對這個系列函數的思維導圖——我也是第一次使用思維導圖這種工具。大圖在這裡。其中stream_socket_*系列是PHP 5新加入的處理socket串連的函數,簡單方便,下一篇部落格我將使用這些函數實現socket通訊。具體的函數參數及應用可以查看手冊。 以上就介紹了substrate safe mode PHP
Time of Update: 2016-07-29
//編譯安裝php 5.3.3 由於php5.3.X已經內建了php-fpm所以不需要打補丁 # sudo ./configure --prefix=/usr/local/php-5.3.3 --with-mcrypt --with-gettext --with-mysql --with-gd --with-jpeg-dir --with-png-dir --with-curl --with-freetype-dir --enable-gd-native-ttf
Time of Update: 2016-07-29
The + operator appends elements of remaining keys from the right handed array to the left handed, whereas duplicated keys are NOT overwritten. 今天 再次看 php manual的時候,才知道 複製代碼 代碼如下:$a = array("a" => "apple", "b" => "banana"); $b = array("a" => "pear", "
Time of Update: 2016-07-29
如果使用sql語句做的話 工作量太大了,於是嘗試自己寫一個交叉表的類,好二話不說,我們看看代碼 複製代碼 代碼如下:/** * 基本交叉表 * @author hugh * */ class Pivot { private $HORIZONTAL_TOTAL_FIELD = 'total'; private $VERTICAL_TOTAL_FIELD = 'total'; private $data; private $topPivot; private $leftPivot; private
Time of Update: 2016-07-29
另外,我們在 控制結構比較兩個數值是否一直的時候,也應該盡量使用 === 來代替 ==(當然,這個也根據具體的商務邏輯選用比較合適的)。 小弟來解釋下 為什麼 var_dump(in_array(0, array('s' )); 這句話的結果是bool(true)。 因為in_array會將0 和's' 進行比較,0是number類型,'s'是string類型,根據php manual 中“Comparison Operators” 一章的說明可知,number 和string進行 比較的時候,
Time of Update: 2016-07-29
EOF 是非常重要的概念,幾乎每種主流程式設計語言都提供了相應的內建函數,來驗證解析器是否到達了檔案EOF。在PHP 中,此函數是feof ()。feof ()函數用來確定是否到達資源末尾。它在檔案I/O 操作中經常使用。其形式為: int feof(string resource) 執行個體如下: 複製代碼 代碼如下:$fh = fopen("/home/www/data/users.txt", "rt"); while (!feof($fh)) echo fgets($fh);
Time of Update: 2016-07-29
Memcache常用方法 Memcache::add — 添加一個值,如果已經存在,則返回false Memcache::addServer — 添加一個可供使用的伺服器位址 Memcache::close — 關閉一個Memcache對象 Memcache::connect — 建立一個Memcache對象 Memcache::debug — 控制調試功能 Memcache::decrement — 對儲存的某個key中的值進行減法操作 Memcache::delete — 刪除一個key值
Time of Update: 2016-07-29
先來說說兩種方式: 1)定義一個字串變數,裡面儲存要載入的檔案清單。然後foreach載入。複製代碼 代碼如下:$a = '/a.class.php;/Util/b.class.php;/Util/c.class.php'; $b = '/d.php;/e.class.php;/f.class.php;/g.class.php'; // 載入基本系統檔案 $kernel_require_files = explode(';', $a);//SYS_REQUIRE_LIB_FILE_LIST);
Time of Update: 2016-07-29
第一種方法:如果不影響程式的正常執行,可以採用屏蔽的方法可以在代碼的第一行 加上 error_reporting(E_ALL ^ E_NOTICE); 關閉掉 NOTICE錯誤的警告第二種方法:定位到具體的行,根據提示解決。例如elseif ($_POST['istrue'] == 'ok'),如上代碼,沒有提交istrue這個,所以肯定是有問題的。可以用如下代碼解決上面先判斷複製代碼 代碼如下:if(array_key_exists( 'istrue',$_POST)) {
Time of Update: 2016-07-29
複製代碼 代碼如下:/* * ————————————————- * @file : 5.php * @function : arr2str * @copyright : 2002-2009 Xingmo Inc * @author : Fanglor * @date : 2010-06-25 * @update : * ————————————————- */ $fruits = array ( "fruits" => array("a" => "orange", "b" =>
Time of Update: 2016-07-29
php面試題說明 : 例如:my name is fanglor =》 ym eman si orlgnaf php面試題的答案: 複製代碼 代碼如下:function restr ($str) { $str1 = explode (' ',$str); $str2 = ''; $temp = ''; for ($i=0;$i{ $str2 .= $temp.strrev ($str1[$i]); $temp = ' '; } return $str2; } 測試代碼: 複製代碼
Time of Update: 2016-07-29
複製代碼 代碼如下:/*—————————————————— */ //– 遞迴實現無限分類產生下拉式清單函數 //– $tpl->assign('sort_list',createSortOptions ()); //– $tpl->assign('sort_list',createSortOptions ($sort_id)); /*—————————————————— */ function createSortOptions ($selected=0,$parent_id=0,$n=-1
Time of Update: 2016-07-29
函數的原理很簡單,主要就是用了一下遞迴調用。 複製代碼 代碼如下:function file_list($path){ if ($handle = opendir($path)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (is_dir($path."/".$file)) { echo $path.":
Time of Update: 2016-07-29
目錄下必須有default.gif(此圖為模板縮圖)的才為合法的模板 複製代碼 代碼如下:function get_template () { $template = array (); $dir = CMS_ROOT.'/tpl/'; $n = 0; if (is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if ($file =='.' or $file == '..'