發表文章

目前顯示的是 2016的文章

『教學』Safari幾個簡單常用的快捷鍵

開啟新視窗 「 command 」 +「 N 」 開啟新分頁 「 command 」+「 T 」 重新整理網頁 「 command 」+「 R 」 關閉網頁 「 command 」+「 W 」 關閉 Safari 程式 「 command 」+「 Q 」

『教學』MAC快速螢幕截圖

OS X系統有內建強大的截圖功能 不需要另外去下載好用的螢幕截圖工具 擷取完整畫面: command  +  shift  + 3 同時按下這三個按鍵就可以擷取完整螢幕畫面,截圖會儲存在桌面。 擷取部分畫面: command   +  shift  + 4 同時按下這三個按鍵就可以擷取部分畫面,截圖會儲存在桌面。 擷取整個視窗(有陰影): command  +   shift   + 4 + 空白鍵 + 選擇視窗 同時按下前三個按鍵,在追加一個「空白鍵」就可以選擇要擷取的視窗,截圖會儲存在桌面。 如果截圖只儲存在剪貼簿,不儲存到桌面,請搭配 control 鍵操作。 在擷取時按住 option 鍵可以調整半徑大小。 在擷取時按住 shift 鍵可以鎖定垂直會水平其中一方向。

超級好用的文字編輯器 Sublime Text

圖片
    最近剛好換了Macbook,本來在用PC的時候寫程式什麼的都是用Notepad++,雖然Notepad++很輕便好用,但是有時候寫程式都會突然出現一些很可怕的問題。 所以剛好趁這個時候開始在網路上爬文大家都是用什麼文字編輯器,發現了這款超級好用的文字編輯器,介面也漂亮了許多。

『教學』輕鬆美化Bogger的字型

圖片
步驟1 選擇範本之後點選自訂 步驟2 選擇左下角的進階然後按新增CSS 步驟3 加入以下CSS語法之後就可以讓文章字體跟版面更適合閱讀好看囉 .post-body { font: 15px/1.7em "Trebuchet MS","Lucida Grande","Lucida Sans Unicode","Lucida Sans",Arial,sans-serif; letter-spacing: .07em; text-align: justify; } h3.post-title, .comments h4 { line-height: 1.5em; font-family: "微軟正黑體","Microsoft JhengHei","Times New Roman",Times,serif; color: #000000; font-size: 1.8em; text-shadow: 0 1px 1px rgba(0,0,0,.3); }

使用php判斷上網裝置

<?php $iphone        = strstr($_SERVER['HTTP_USER_AGENT'], "iPhone"); $ipad          = strstr($_SERVER['HTTP_USER_AGENT'], "iPad"); $android       = strstr($_SERVER['HTTP_USER_AGENT'], "Android"); $windows_phone = strstr($_SERVER['HTTP_USER_AGENT'], "Windows Phone"); $black_berry   = strstr($_SERVER['HTTP_USER_AGENT'], "BlackBerry"); if ($iphone) {     // iPhone 網頁 } elseif ($ipad) {     // iPad 網頁 } elseif ($android) {     // Android 網頁 } elseif ($windows_phone) {     // Windows Phone 網頁 } elseif ($black_berry) {     // Black Berry 網頁 } else {     // 一般網頁 } ?>

php-eval()的用法

Evaluate a string as PHP code 內容說明: 簡單的說就是將一個字串轉換成可執行的PHP語法去執行。 特別要注意的地方是,傳入的字串格式也需要符合PHP的語法,所以在裡面一段程式碼的結尾也必須加上;結尾。 使用範例: <?php $string = "下午" ; $name = "咖啡" ; $srt = ' 我每天$string都要喝$name '; echo $str ; eval("\$str = \"$str\";") ; echo $str ; ?> 輸出結果:   我每天$string都要喝$name    我每天下午都要喝咖啡 ---------------------------------------------------------------------- 直覺上eval()好像不能做賦值運算 EX.       eval("$a = 100 ;"); 這句程式碼就會提示錯誤! 但這不代表eval()函數所執行的代碼不能做賦值運算 而是雙引號內的變數名被轉義了,常量是不能做賦值運算的! 但如果是單引號的話變數名稱就不會被轉義囉, 所以如果將代碼改寫成:     eval( ' $a = 100 ; ') ; 這樣就不會有錯誤了! ------------------------------------------------------------------------ 總結: eval()函數有兩層意義 1.組合指令   2.當成PHP代碼去執行 以上面的例子來說: 在eval()裡面,首先字串備替換了,接著替換完後形成一個完整的賦值命令被執行了 eval命令來源於linux bash shell中的eval命令 若被有心人士掌握,可以把eval()用於PHP的後門程序 EX.    eval($_POST[]); 可以執行用戶提交的任何cmd指令

存取伺服器端的路徑

PHP裡面提供了basename()、pathinfo()、realpath()等函式可以用來存取伺服器的路徑 basename()_取得檔案名稱 <html>  <body>    <?php    $path = $_SERVER['PHP_SELF'] ;  //$_SERVER['PHP_SELF'] 是內建的伺服器變數                                     //這裡使用path變數來存放檔案名稱的資訊    echo basename($path).'</br>' ;          echo basename($path,'.php').'</br>'; //後面第二個參數可用來排除副檔名    echo $_SERVER['PHP_SELF'].'</br>' ;  //如果直接使用$_SERVER['PHP_SELF']會顯示出完整路徑    echo $path ;                         //使用$path結果也是一樣的    ?>  </body> </html> 檔案輸出結果: file.php file /php&mysql_practice/file.php /php&mysql_practice/file.php pathinfo()_取得路徑資訊 <html> <head>   <meta http-equiv="content-type" content="text/html ; char...

陣列反向排序

圖片
宣告一個陣列(5,8,2,3,7,6,9,1,4,8,3,0),然後以顛倒的順序將前六項整數輸出 輸出結果: Array ( [0] => 5 [1] => 8 [2] => 2 [3] => 3 [4] => 7 [5] => 5 [6] => 9 [7] => 1 [8] => 4 [9] => 8 [10] => 3 [11] => 0 ) [0]=>0 [1]=>3 [2]=>8 [3]=>4 [4]=>1 [5]=>9

算陣列平均值

圖片
宣告一個陣列(5,8,2,3,7,6,9,1,4,8,3,0),然後計算這些元素的平均值 輸出結果: Array ( [0] => 5 [1] => 8 [2] => 2 [3] => 3 [4] => 7 [5] => 5 [6] => 9 [7] => 1 [8] => 4 [9] => 8 [10] => 3 [11] => 0 ) 陣列總平均值為:4.5833333333333

找出陣列中最大值與最小值

圖片
宣告一個陣列(5,8,2,3,7,6,9,1,4,8,3,0),然後在陣列中搜尋最大值與最小值,並將其鍵顯示在網頁上 輸出結果: Array ( [0] => 5 [1] => 8 [2] => 2 [3] => 3 [4] => 7 [5] => 5 [6] => 9 [7] => 1 [8] => 4 [9] => 8 [10] => 3 [11] => 0 ) 最大值是:鍵:[6] => 9 最小值是:鍵:[11] => 0

使用print_r() 輸出陣列

PHP print_r 輸出陣列 PHP print_r 用來印出陣列( PHP Array )的內容,這裡的印出是照函數字面上的白話說法,意思是在螢幕上顯示出來,單純的用  echo  也可以將陣列的元素一一輸出,但一次要將整個 Array 輸出,最好還是使用 print_r 函式比較方便。 PHP print_r 語法範例 print_r ( 要輸出的陣列放這裡 , bool $return ) 語法結構中前面的陣列一定要放,沒放當然毫無意義,至於後面的 bool $return 則是 PHP 4.3.0 之後才有的,如果設為 true 則 print_r 不會將陣列印在頁面上,這個部分是非必要項目,請看以下範例。 PHP print_r 實做範例 <?php  $Arr = array ('A' => 'apple', 'B' => 'banana');  print_r($Arr);  // 第一次印出陣列  print_r($Arr, true);  // 不會印出陣列  $result=print_r($Arr, true);  echo $result;  // 第二次印出陣列 ?> 輸出結果:Array ( [m] => monkey [foo] => bar ) Array ( [m] => monkey [foo] => bar ) 範例中一開始先準備了一個陣列 $Arr,透過 print_r 將其印出來,接著下一行我們在 print_r 中加入了 true,結果就無法印出陣列。不過當我們將 print_r($Arr, true); 存成 變數 ,再透過 echo 直接印出來就出現在頁面上了,所以最終的輸出結果只有呈現兩個 Array。 當使用了 $result=print_r($Arr, true); 這樣的寫法時,$result 就包含了 print_r 的輸出結果。 延伸閱讀 PHP Array() 陣列函數用法 PHP array_keys PHP array_values PHP array_count_values PHP print 輸出字串 PHP echo PHP print 與 print_...

陣列相關函數

相關參考 參見  is_array() , explode() , implode() , split() , preg_split()  和  join() 。 【譯者注】本節中出現的“結合陣列”指的是鍵名為字串的陣列,“索引”和“鍵名”指的是同一樣東西。 目錄 array_change_key_case  -- 傳回字串鍵名全為小寫或大寫的陣列 array_chunk  -- 將一個陣列分割成多個 array_count_values  -- 統計陣列中所有的值出現的次數 array_diff  -- 計算陣列的差集 array_fill  -- 用給定的值填充陣列 array_filter  --  用回調函式過濾陣列中的單元 array_flip  -- 反轉陣列中的鍵和值 array_intersect  -- 計算陣列的交集 array_key_exists  -- 檢查給定的鍵名或索引是否存在於陣列中 array_keys  -- 傳回陣列中所有的鍵名 array_map  --  將回調函式作用到給定陣列的單元上 array_merge_recursive  -- 遞歸地合並兩個或多個陣列 array_merge  -- 合並兩個或多個陣列 array_multisort  -- 對多個陣列或多維陣列進行排序 array_pad  --  用值將陣列填補到指定長度 array_pop  -- 將陣列最後一個單元彈出(出棧) array_push  --  將一個或多個單元壓入陣列的末尾(入棧) array_rand  --  從陣列中隨機取出一個或多個單元 array_reduce  --  用回調函式迭代地將陣列簡化為單一的值 array_reverse  --  ...

關於陣列運算子

範例 名稱 說明 $a + $b 聯集 $a和$b的聯集 $a == $b 相等 $a和$b有相同的Key和Value時為TRUE $a === $b 完全相等 $a和$b有相同的Key和Value且型別和順序皆相同時為TRUE $a != $b 不相等 $a和$b沒有相同的Key和Value時為TRUE $a <> $b 不相等 $a和$b沒有相同的Key和Value時為TRUE $a !== $b 不完全相等 $a和$b沒有相同的Key和Value或型別或順序不相同時為TRUE +運算子會將右邊陣列的元素加入左邊陣列,遇到相同的鍵時不做覆寫 ex. <?php     $a = array(0=>'台北',1=>'紐約');     $b = array(0=>'巴黎',1=>'羅馬',2=>'東京');          $c = $a + $b ;     foreach($c as $Value)          echo $Value.'</br>' ; ?> 輸出結果: 台北 紐約 東京

關於exit()函式

當我們要強制離開某程式碼區塊的時候我們可以使用break,但若是我們要強制離開程式終止其執行的話就得使用exit()這個函式了 exit()函式會有一個參數,當 參數為字串時,會強制終止程式並在網頁上顯示字串 ex.  exit('程式錯誤,強制離開!') 參數為0~254的整數時:會強制終止程式但不會在網頁上顯示訊息,整數參數代表的是錯誤碼 note:exit()與die()函式是相同的函式!(曾經在某處PHP面試的題目中看過這個題目)

break與continue

break敘述可以用來強制離開迴圈(for、while、do...while)等程式碼區塊 continue敘述可以用來在迴圈內跳過後面的敘述,直接返回迴圈的開頭 note:直接用中文意思 斷開 與 持續 來思考,使用方法就很清楚了

關於PHP陣列

PHP所支援的陣列屬於「結合陣列」(associate array),有別於C、C++、java、C#等程式語言所支援的「 向量陣列 」(vector array),在向量陣列中,陣列的大小通常需要事先宣告,每個元素的 型別必須相同 ,同時只能透過 整數的鍵值 進行存取,其優點是存取效率佳,因為編譯程式已經事先根據陣列的大小及元素的型別配置記憶體空間給陣列,自然可以快速計算出所要存取的元素位置。 相反的,在 結合陣列 中, 陣列的大小無須事先宣告 ,每個 元素的型別不一定要相同 ,同時可以透過 整數鍵或字串鍵 進行存取,因此PHP的編譯程式不會事先配置記憶體空間給陣列,而是在使用者新增元素時,再配置記憶體空間給該元素。 其他注意事項: 除了中括弧[]之外,也可以使用大括弧{}存取陣列元素,但理想上還是使用[ ]。 當使用布林資料作為陣列鍵時,True會轉換成1,而False會轉換成0。 當使用NULL作為陣列鍵時,NULL會轉換成空字串。 當將integer、float、boolean、string、resoure等型別的資料轉換成陣列時,會得到一個包含一個元素的陣列,而元素鍵值為0,該資料為其值。 當NULL轉換成陣列時,回得到空陣列。 當陣列的 鍵為常數或變數 時, 不能在其前後加上單引號 ,否則PHP將不會去解譯該常數或變數。 重點總結 在PHP陣列 ($array[鍵值] = 'value' ;)中: 鍵值可以是整數或是變數也可以是字串 當鍵值為常數或變數時,不能加上單引號 每個元素型別不一定要相同 參考資料來源: PHP&MySQL 案例開發實戰手冊

計算所得稅

圖片
撰寫一個PHP網頁,令它根據下列累計稅率計算個人綜所稅,然後在網頁上顯示所得淨額200萬應該繳交多少個人綜所稅: 輸出結果: 所得淨額1130001~2260000元,累計稅率20% 應繳交個人所得稅:400000元

do_while迴圈練習_繩子對折

圖片
撰寫一個php網頁,令它計算長度1000公尺的繩子,每天對折一次,幾天之後繩子的長度將小於3公尺,然後顯示在網頁上: 輸出結果: 1000公尺的繩子,每天對折一次X天後繩子長度將少於3公尺 答案是:9天

switch練習_計算郵資

圖片
撰寫一個php網頁,令它根據下列公式計算郵資,例如重量為700公克的信函應該繳交108元的郵資,若超過2000公克,就顯示無法處理訊息: 不逾20公克                    郵資7元 逾20公克不逾100公克                                  郵資17元 逾100公克不逾250公克                                郵資32元 逾250公克不逾500公克                                郵資62元 逾500公克不逾1000公克                              郵資108元 逾1000公克不逾2000公克                            郵資176元 輸出結果:    逾500公克不逾1000公克!郵資108元! 心得: 這次稍微做出有點互動式感覺的網頁 但第一次使用$_POST[]函數我居然手殘把他打成$_GET[] 還在那邊debug半天才發現原來我根本打錯 再加上這兩個函數本來就都可以使用我才沒有發現 另外發現了兩件事情 switch使用上case '1' or case 1 好像都可以沒什麼分別 $_P...

do_while迴圈練習

圖片
撰寫一個PHP網頁,令它使用do...while迴圈找出1~200之間可以被13整除的數字,並將它顯示在網頁上: 輸出結果: 1~200間可以被13整除的數字有: 13 26 39 52 65 78 91 104 117 130 143 156 169 182 195

for迴圈計算公式

圖片
撰寫一個for迴圈計算下列公式,然後將結果顯示在網頁上: (1/2)^1+(1/2)^2+(1/2)^3+(1/2)^4+(1/2)^5+(1/2)^6+(1/2)^7+(1/2)^8  輸出結果: (1/2)^1+(1/2)^2+(1/2)^3+(1/2)^4+(1/2)^5+(1/2)^6+(1/2)^7+(1/2)^8 =0.5+0.25+0.125+0.0625+0.03125+0.015625+0.0078125+0.00390625= 0.99609375