PIXNET Logo登入

風箏

跳到主文

準備好要開始~~~~亂談了嗎??~~~~~

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 1月 07 週三 200914:10
  • utf8 範圍


避免我自己忘了
 
GBK和BIG5都是雙位元組字元,也就是用兩個位符來表示一個漢字。要判斷是否漢字,就必須知道它的有效範圍,下面是第一個位和第二個位的有效範圍:
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(115)

  • 個人分類:PHP
▲top
  • 1月 06 週二 200911:59
  • PHP utf8 字串判斷

function  is_utf8($str)  {
    $i=0;
    $len  =  strlen($str);
    for($i=0;$i<$len;$i++)  {
        $sbit  =  ord(substr($str,$i,1));
        if($sbit  <  128)  {
            //本字節為英文字符,不與理會
        }elseif($sbit  >  191  &&  $sbit  <  224)  {
            //第一字節為落於192~223的utf8的中文字(表示該中文為由2個字節所組成utf8中文字),找下一個中文字
            $i++;
        }elseif($sbit  >  223  &&  $sbit  <  240)  {
            //第一字節為落於223~239的utf8的中文字(表示該中文為由3個字節所組成的utf8中文字),找下一個中文字
            $i+=2;
        }elseif($sbit  >  239  &&  $sbit  <  248)  {
            //第一字節為落於240~247的utf8的中文字(表示該中文為由4個字節所組成的utf8中文字),找下一個中文字
            $i+=3;
        }else{
            //第一字節為非的utf8的中文字
            return  0;
        }
    }
    //檢查完整個字串都沒問體,代表這個字串是utf8中文字
    return  1;
}
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(772)

  • 個人分類:PHP
▲top
  • 12月 26 週五 200816:52
  • PHP 字串函數



AddSlashes:
字串加入斜線。


bin2hex:
二進位轉成十六進位。


Chop:
去除連續空白。


Chr:
傳回序數值的字元。


chunk_split:
將字串分成小段。


convert_cyr_string:
轉換古斯拉夫字串成其它字串。


crypt:
將字串用 DES 編碼加密。


echo:
輸出字串。


explode:
切開字串。


flush:
清出輸出緩衝區。


get_meta_tags:
抽出檔案所有 meta 標記的資料。


htmlspecialchars:
將特殊字元轉成 HTML 格式。


htmlentities:
將所有的字元都轉成 HTML 字串。


implode:
將陣列變成字串。


join:
將陣列變成字串。


ltrim:
去除連續空白。


md5:
計算字串的 MD5 雜湊。


nl2br:
將換行字元轉成 <br>。


Ord:
傳回字元的序數值。


parse_str:
剖析 query 字串成變數。


print:
輸出字串。


printf:
輸出格式化字串。


quoted_printable_decode:
將 qp 編碼字串轉成 8 位元字串。


QuoteMeta:
加入引用符號。


rawurldecode:
從 URL 專用格式字串還原成普通字串。


rawurlencode:
將字串編碼成 URL 專用格式。


setlocale:
設定地域化資訊。


similar_text:
計算字串相似度。


soundex:
計算字串的讀音值


sprintf:
將字串格式化。


strchr:
尋找第一個出現的字元。


strcmp:
字串比較。


strcspn:
不同字串的長度。


strip_tags:
去掉 HTML 及 PHP 的標記。


StripSlashes:
去掉反斜線字元。


strlen:
取得字串長度。


strrpos:
尋找字串中某字元最後出現處。


strpos:
尋找字串中某字元最先出現處。


strrchr:
取得某字元最後出現處起的字串。


strrev:
顛倒字串。


strspn:
找出某字串落在另一字串遮罩的數目。


strstr:
傳回字串中某字串開始處至結束的字串。


strtok:
切開字串。


strtolower:
字串全轉為小寫。


strtoupper:
字串全轉為大寫。


str_replace:
字串取代。


strtr:
轉換某些字元。


substr:
取部份字串。


trim:
截去字串首尾的空格。


ucfirst:
將字串第一個字元改大寫。


ucwords:
將字串每個字第一個字母改大寫。

(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(1,220)

  • 個人分類:PHP
▲top
  • 12月 03 週三 200816:10
  • PHP 運算子




PHP程式設計講義區




 












回主目錄  





基礎級課程
(資料以www.php.net官方網站內容為主,部份另自網路上取得,並盡可能註明來源出處,如有遺漏,敬請來信指正,謝謝!)





















編號


主題


內容大網


作業


備註


3

PHP 基本語法

  • 程式碼概論

  • 註解

  • 變數、常數

  • 資料型態

  • 運算子

  • 函式

  • 外部傳遞變數



作業一:陣列


作業二:
  簡易表單資料傳遞


 




運算子 ( Operator )



什麼是運算子(有人翻譯為「運算元」或「運算符號」),以下例來解釋:








$total = $a + $b;

$a + $b 稱為「表示式」(expressions)


+ 即稱為運算子(operator)


所以,在PHP的運算子裡,大致歸類下列十種:



  1. 算術運算子

  2. 指定運算子

  3. 位元運算子

  4. 比較運算子

  5. 錯誤控制運算子

  6. 執行運算子

  7. 加一/減一運算子

  8. 邏輯運算子

  9. 字串運算子

  10. 陣列運算子




 


 
1. 算術運算子


 

其實與一般的數學沒甚麼兩樣:




































運算子


範例


用途


+


$a + $b

$a 和 $b 的和。

-


$a - $b

$a 和 $b 的差。

*


$a * $b

$a 和 $b 的乘積。

/


$a / $b

$a 除以 $b 的商。

%


$a % $b

$a 除以 $b 的餘數。




 
 


 
2.指定運算子


 

基本的指定運算符就是“=”。並不稱做“等於”,實際上意味著把右邊運算式的值指定給左運算數。例如:








$a = $a + 2;

正確的解釋是將「右邊的$a + 2 的值」指定給「左邊的 $a 」。所以在程式技巧中,可以把表示式簡寫為下列方式:






























標準式


簡單式


$a = $a + $b


$a += $b


$a = $a - $b


$a -= $b


$a = $a * $b


$a *= $b


$a = $a / $b


$a /= $b


$a = $a % $b


$a %= $b


其他的運算子也可以以類似的方式簡單表達,而達成運算目的。





 
 


 
3. 位元運算子


 

將整數視為二進位的字串來加以運算;因為有點難,大致了解即可:









































範例


名稱


結果

$a & $bAnd(且)將在 $a 和 $b 中都為 1 的位設為 1。
$a | $bOr(或)將在 $a 或者 $b 中為 1 的位設為 1。
$a ^ $bXor(互斥)將在 $a 和 $b 中不同的位設為 1。
~ $aNot(補數)將 $a 中為 0 的位設為 1,反之亦然。
$a << $bShift left(左移)將 $a 中的位向左移動 $b 次(每一次移動都表示“乘以 2”)。
$a >> $bShift right(右移)將 $a 中的位向右移動 $b 次(每一次移動都表示“除以 2”)。




 
 


 
4. 比較運算子


 

 
























































範例


名稱


解釋


$a == $b


等於

TRUE,如果 $a 等於 $b。

$a === $b


全等

TRUE,如果 $a 等於 $b,並且它們的類型也相同。(PHP 4 only)

$a != $b


不等

TRUE,如果 $a 不等於 $b。

$a <> $b


不等

TRUE,如果 $a 不等於 $b。

$a !== $b


非全等

TRUE,如果 $a 不等於 $b,或者它們的類型不同。(PHP 4 only)

$a < $b


小與

TRUE,如果 $a 小於 $b。

$a > $b


大於

TRUE,如果 $a 大於 $b。

$a <= $b


小於等於

TRUE,如果 $a 小於或者等於 $b。

$a >= $b


大於等於

TRUE,如果 $a 大於或者等於 $b。

另外一個條件運算符是“?:”(或三元)運算符,它和 C 以及很多其他語言的操作一樣。
(expr1) ? (expr2) : (expr3);
如果 expr1 的值為 TRUE,則此運算式的值為 expr2,如果 expr1 的值為 FALSE,則此運算式的值為 expr3。





 
 


 
5. 錯誤控制運算子


 

PHP 支援一個錯誤控制運算符「@」。當將其放置在一個
PHP 運算式之前,該運算式可能產生的任何錯誤資訊都被忽略掉。這功能有幾個目的:



  • 安全性:避免因程式上的某些錯誤訊息將一些訊息告知了外界,而暴露系統上可能的安全漏洞。

  • 美觀:因為錯誤訊息會造成顯示畫面的混亂。


基本,但這個功能得在安裝PHP時啟動 track_errors 功能(也可事後在php.ini中修改),運算式所產生的任何錯誤資訊才會被存放在總體變數
$php_errormsg 裡,並顯示出來。










01: <?php
02 $abc = @mysql_connect ('root', 'test', 'database');
03: ?>

 




 
 


 
6. 執行運算子


 

PHP 支持一個執行運算符:反引號「` .... `」。注意這不是單引號!PHP 將嘗試將反引號中的內容作為shell命令來執行,並將其輸出資訊返回(例如,可以賦給一個變數而不是簡單地丟棄到標準輸出)。













01: <?php
02: $output = `ls -al`;
03: echo "<pre> $output </pre>;
04: ?>

 
這只能在command文字命令模式下執行,不可透過Web
Server執行。
(影片示範)

注: 反引號運算子在啟動了 safe mode 或者關閉了 shell_exec() 時是無效的。





 
 


 
7. 加一/減一運算子


 

PHP 支持 C 風格的前/後加一與減一運算子。































範例


名稱


解釋


++$a


前加

$a 的值加一,然後返回 $a。

$a++


後加

返回 $a,然後將 $a 的值加一。

--$a


前減

$a 的值減一, 然後返回 $a。

$a--


後減

返回 $a,然後將 $a 的值減一。












01: <?php
02: echo "<h3>a++</h3>";
03: $a = 5;
04: echo "應該是 5: ".$a++."<br />\n";
05: echo "應該是 6: ".$a."<br />\n";
06:
07: echo "<h3>++a</h3>";
08: $a = 5;
09: echo "應該是 6: ".++$a."<br />\n";
10: echo "應該是 6: ".$a."<br />\n";
11:
12: echo "<h3>a--</h3>";
13: $a = 5;
14: echo "應該是 5: ".$a--."<br />\n";
15: echo "應該是 4: ".$a."<br />\n";
16:
17: echo "<h3>--a</h3>";
18: $a = 5;
19: echo "應該是 4: ".--$a."<br />\n";
20: echo "應該是 4: ".$a."<br />\n";
21:
22: ?>









執行結果
>>


 




 
 


 
8. 邏輯運算子


 

邏輯運算子主要用來測試條件句的真(true)或假(false),以判斷程式的某個段落是否繼續執行或跳脫。









































範例


名稱


解釋


$a and $b


And(邏輯與)

TRUE,如果 $a 與 $b 都為 TRUE。

$a or $b


Or(邏輯或)

TRUE,如果 $a 或 $b 任一為 TRUE。

$a xor $b


Xor(邏輯互斥)

TRUE,如果 $a 或 $b 任一為 TRUE,但不同時是。

! $a


Not(邏輯非)

TRUE,如果 $a 不為 TRUE。

$a && $b


And(邏輯與)

TRUE,如果 $a 與 $b 都為 TRUE。

$a || $b


Or(邏輯或)

TRUE,如果 $a 或 $b 任一為 TRUE。




 
 


 
9. 字串運算子


 

有兩個字串運算符。第一個是連接運算符(“.”),它返回其左右參數連接後的字串。第二個是連接指定運算子(“.=”),它將右邊參數附加到左邊的參數後。










01: <?php
02: $a = "PHP程式設計";
03: $b = $a . "基礎班";
04: echo $b . "<BR>";
05:
06: $c = "台中市";
07: $c .= "資訊網路中心";
08: echo $c;
09: ?>









執行結果
>>






 
 


 
10.陣列運算子


 

PHP 僅有的一個陣列運算子是「 +」 運算子。它把右邊的陣列附加到左邊的陣列後,但是重複的索引值不會被覆蓋。













01: <?php
02: $a = array("1" => "一月", "2" => "二月");
03: $b = array("1" => "星期一", "2" => "星期二", "3" => "星期三");
04: $c = $a + $b;
05:
06: var_dump($c); // var_dump( ) 是顯示變數內容的函數
07: ?>









執行結果
>>



第06行的結果將會是:


array(3) { [1]=> string(4)
"一月" [2]=> string(4) "二月"
[3]=> string(6) "星期三" }


表示 $c 變數是array (陣列),裡面的元素中,索引值1是字串,字串長度是4,內容是"一月",以下以此類推。






 
 



運算子優先順序
運算子優先順序指定了兩個運算式綁定得有多“緊密”。例如,運算式 1 + 5 * 3 的結果是 16 而不是 18 是因為乘號(“*”)的優先順序比加號(“+”)高。必要時可以用括弧來強制改變優先順序。例如:(1
+ 5) * 3 的值為 18。
下表從低到高列出了運算子的優先順序。




























































































優先等級


結合方向


運算子




































高

 

↑

 
 
 
 

↓

 

低



左

,

左

or

左

xor

左

and

右

print

左

= += -= *= /= .= %= &= |= ^= ~= <<= >>=

左

? :

左

||

左

&&

左

|

左

^

左

&

無

== != === !==

無

< <= > >=

左

<< >>

左

+ - .

左

* / %

右

! ~ ++ -- (int) (float) (string) (array) (object) @

右

[

無

new




 












回主目錄  












版權聲明:Copyright
© 1999-2003 王勝雄 Kevin Wang





一、


本網站所提及的註冊商標、公司名稱均屬於該登記合法註冊的公司所有。



二、



本網站之圖文設計、課程編輯內容等均屬作者所有,若用於其他用途(例如商業用途),需經作者同意,除此之外,本網站所有文件為自由文件(FDL),可自由複製、修改、散佈,但請保留版權聲明。


 

(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(2,116)

  • 個人分類:PHP
▲top
  • 7月 03 週四 200810:13
  • php xml2array 實用的function

    function xml2array($XMLData){
        $encoding = "UTF-8";
        $xml_parser = xml_parser_create($encoding);
        xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8" );
        xml_parse_into_struct($xml_parser, $XMLData, $vals, $index);
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(533)

  • 個人分類:PHP
▲top
  • 6月 03 週二 200811:01
  • PHP 日期運算

偶爾寫寫程式,一直沒機會要用到日期的運算,<br>
以前都是土法煉鋼,用一堆的if 加一堆的人工運算,總覺得很沒效率!!<br>
我想language 本身一定有提供,以前沒去找,今天一去找才發現,以前的做準,真的是小學生呀<br>
<br>
現在找到一段好用的PHP 日期運算
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(1) 人氣(1,219)

  • 個人分類:PHP
▲top
  • 4月 28 週一 200812:11
  • PHP 邏輯用法~~為什麼我老是記不起來

符號 意義 < 小於 > 大於 <= 小於或等於 >= 大於或等於 == 等於 != 不等於 && 而且 (And) and 而且 (And) || 或者 (Or) or 或者 (Or) xor 異或 (Xor) ! 不 (Not)
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(2,257)

  • 個人分類:PHP
▲top
  • 4月 11 週五 200817:40
  • PHP Encryption Sample

PHP內建的加密function
<?php
$key = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";    //加密key
$data = "1111111111111111";        //待加密資料
$iv  = pack("h16","1111111111111111");     //iv
$KeyValue = pack("H*", $key.substr($key, 0, 16));  //或 $KeyValue = pack("H*", $key);
$result = mcrypt_cbc(MCRYPT_TRIPLEDES, $keyValue, $data, MCRYPT_ENCRYPT, $iv);
die(bin2hex($result));
?>
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(128)

  • 個人分類:PHP
▲top
  • 4月 08 週二 200810:30
  • PHP {Switch Case}

自己老是會忘記一些很基本的語法,可能不常用吧!!
干脆加到自己的blog 來,查也比較快
<?
switch ($i) {
    case 
0:
        echo 
"i equals 0";
        break;
    case 
1:
        echo 
"i equals 1";
        break;
    case 
2:
        echo 
"i equals 2";
        break;
    default:
        echo 
"i is not equal to 0, 1 or 2";
}
(繼續閱讀...)
文章標籤

風箏 發表在 痞客邦 留言(0) 人氣(181)

  • 個人分類:PHP
▲top
1

近期文章

  • linux 解rar 多檔 command line cmd
  • linux 主機板型號
  • shell script 大量/批次 修改檔名 大寫小寫~~~
  • XP 設定 預設 登入 開機 免登入
  • SciTE Text Editor 中文 相關 設定 編輯器 ubuntu
  • ubuntu gedit(Gedit) 中文 亂碼 編碼 問題
  • 三用電錶 的用法、三用電表 用法/零件測試(好用)
  • shell script BASH 教學 基楚 概念
  • Outlook 2G ansi Unicode 限制 轉檔 問題
  • ubuntu firefox flash 中文顯示 變方塊 問題修正

文章分類

toggle 系統管理 (2)
  • Windows (4)
  • Unix-Like (10)
toggle 程式語言 (5)
  • C++ (6)
  • ASP (1)
  • ANSI SQL (2)
  • ACM (2)
  • PHP (9)
toggle 風箏 (4)
  • 電子空間 (1)
  • 亂談囉 (1)
  • 生活週記 (1)
  • 電腦亂談 (4)
  • 未分類文章 (1)

部落格文章搜尋