發表文章

目前顯示的是 2014的文章

[PHP] 將陣列中重複的值刪除最好方法 array_flip (移除陣列中重複的值)

使用array_fliparray_unique來的快速
參考連結:http://stackoverflow.com/questions/8321620/array-unique-vs-array-flip
上述網址提供的範例: http://codepad.org/AnpS69yw

用途: // 使用前的陣列 Array ( [0] => 8 [1] => 9 [2] => 10 [3] => 11 [4] => 10 [5] => 11 [6] => 8 [7] => 9 ) // 使用後的陣列 Array ( [6] => 8 [7] => 9 [4] => 10 [5] => 11 )
$test=array(); for($run=0; $run<1000; $run++) $test[]=rand(0,100); $time=microtime(true); for($run=0; $run<100; $run++) $out=array_unique($test); $time=microtime(true)-$time; echo 'Array Unique: '.$time."\n"; $time=microtime(true); for($run=0; $run<100; $run++) $out=array_keys(array_flip($test)); $time=microtime(true)-$time; echo 'Keys Flip: '.$time."\n"; $time=microtime(true); for($run=0; $run<100; $run++) $out=array_flip(array_flip($test)); $time=microtime(true)-$time; echo 'Flip Flip: '.$time."\n"; 結論: array_unique($test); …

[PHP] 暫存檔 JSON, serialize or var_export?

文章 Cache a large array: JSON, serialize or var_export?

904 B arrayJSONSerializationvar_export / includeLength105150151Encoding0.00006604194641110.000046968460083010.00014996528625488Decoding0.00111603736877440.000926971435546880.0010221004486084
18.07 kB arrayJSONSerializationvar_export / includeLength196527903103Encoding0.00050401687622070.000359058380126950.001352071762085Decoding0.00172901153564450.00112986564636230.0056741237640381
290.59 kB arrayJSONSerializationvar_export / includeLength317254503058015Encoding0.00768494606018070.00574803352355960.02099609375Decoding0.0149559974670410.0101778507232670.030472993850708
4.54 MB arrayJSONSerializationvar_export / includeLength5078857208701059487Encoding0.138731956481930.118417024612430.38376498222351Decoding0.298709869384770.215907812118530.53850317001343
72.67 MB arrayJSONSerializationvar_export / includeLength81264451153431019049119Encoding2.30550408363342.76090407371526.2211949825287Decoding4.51910996437078.3514900207528.7873070240021

[PHP] 補零

可以使用 str_pad (PHP 4 >= 4.0.1, PHP 5)

string str_pad ( string $input , int $pad_length [, string $pad_string= " " [, int $pad_type= STR_PAD_RIGHT ]] ) 參數
$input : 輸入的字串 $pad_length : 補齊後的位數,如果為"負"、"小於"或者"等於"輸入的字串,將不會有任何改變 $pad_string : 用來補齊的字串 $pad_type : 選擇補齊的方式 STR_PAD_RIGHT (由右邊)、STR_PAD_LEFT (由左邊)、STR_PAD_BOTH (左右兩邊都補), 預設為STR_PAD_RIGHT
官網範例:
$input = "Alien"; echo str_pad($input, 10); // produces "Alien " echo str_pad($input, 10, "-=", STR_PAD_LEFT); // produces "-=-=-Alien" echo str_pad($input, 10, "_", STR_PAD_BOTH); // produces "__Alien___" echo str_pad($input, 6 , "___"); // produces "Alien_"

[Windows] 取消IE增強式安全性 (Win 2003 server)

圖片
關掉 IE 討人厭的"增強式安全性"提示視窗

取消打勾後就大功告成了~~

[Windows] 「顯示桌面」不見,手動復原

此段語法貼到筆記本,另存新檔為「顯示桌面.scf」即可~
[Shell] Command=2 IconFile=explorer.exe,3 [Taskbar] Command=ToggleDesktop

[PHP][Curl] 取得302轉址後的url

PHP 利用 curl 取得轉址後的 url function curl_302($url) { $ch = curl_init(); curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch , CURLOPT_URL, $url); curl_setopt($ch , CURLOPT_FOLLOWLOCATION, 1); // 302 redirect $data = curl_exec($ch); // return page content $info = curl_getinfo($ch); $error = curl_errno($ch); curl_close($ch); if (!$error) { return $info["url"]; } else { return FALSE; } } PS.一定要先執行curl_exec() 才可執行 curl_getinfo() 或 curl_errno()
curl_getinfo($ch) 內容 Array ( [url] => http://www.xxxx.com.tw; [content_type] => text/html; charset=UTF-8 [http_code] => 200 [header_size] => 222 [request_size] => 280 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.713066 [namelookup_time] => 0.003118 [connect_time] …

[PHP] empty()、is_null()、isset() 區別

http://php.net/manual/en/types.comparisons.php

http://www.blueshoes.org/en/developer/php_cheat_sheet/ (此圖的出處)

http://overapi.com/php/ (列表)


Empty() is_null() isSet()gettype()empty()is_null()isSet()(bool)$x = "";stringtruefalsetruefalse$x = null;NULLtruetruefalsefalsevar $x; (not set)NULLtruetruefalsefalse$x = array();arraytruefalsetruefalse$x = false;booleantruefalsetruefalse$x = 15;integerfalsefalsetruetrue$x = 1;integerfalsefalsetruetrue$x = 0;integertruefalsetruefalse$x = -1;integerfalsefalsetruetrue$x = "15";stringfalsefalsetruetrue$x = "1";stringfalsefalsetruetrue$x = "0";stringtruefalsetruefalse$x = "-1";stringfalsefalsetruetrue$x = "foo";stringfalsefalsetruetrue$x = "true";stringfalsefalsetruetrue$x = "false";stringfalsefalsetruetrue
Note: empty() and isSet() don't give a warning when the variable has not been defined before

[Skype] 移除 Skype 上方佔空間的橫幅廣告

圖片
1. 打開 IE 瀏覽器 -> 工具 -> 網際網路選項 -> 安全性 -> 限制的網站 -> 點擊 [網站] 按鈕


2. 新增 https://apps.skype.com 網址
3. 關閉 -> 確定 -> 關閉 IE
4. 關閉 Skype (如果有開啟的話),重開 Skype 並登入
5. 此時再檢查對話視窗上面就沒有廣告了!完工~~