介紹C++中的「條件運算子」(Conditional operator),它的使用方式如下:
條件式 ? 成立傳回值 : 失敗傳回值
條件運算子的傳回值依條件式的結果而定,如果條件式的結果為true,則傳回冒號前的值,若為false,則傳回冒號後的值,下面這個程式可以作個簡單的示範:
#include <iostream>
using namespace std;
int main() {
int score = 0;
cout << "輸入學生分數:";
cin >> score;
cout << "該生是否及格?"
<< (score >= 60 ? 'Y' : 'N')
<< endl;
return 0;
}
ex2:
風箏 發表在 痞客邦 留言(0) 人氣(2,526)
給該死的自己:之前弄了兩三天,設一堆有的沒的vnc server .......之類的弄不出結果(可能是那時眼花吧)
剛才把ubuntu 重裝後,再次找尋方法,才發現如此的簡單
=================================================
[Ubuntu] 遠端登錄整理 - Windows 或 Unix 下使用XDMCP 或 VNC 登錄
上次搞定了 XDMCP 的遠端登入後(遠端桌面 By XDMCP),因為比較笨的關係,所以多花了點時間,這幾天把兩種登入到 Ubuntu 的方法搞定了。
1. 首先是啟用的部份:
1.1 開啟 XDMCP:
「系統」->「管理」->「登入畫面」,切換到「遠端」的Tab,將「風格」改成「當成本地端」。
如果你不想依賴 GUI:
1. 編輯「/etc/gdm/gdm.conf」和「/etc/gdm/gdm.conf-custom」
2. 找到 [daemon] 下面的「RemoteGreeter」,將前面的 # 拿掉。
3. 找到 [xdmcp],將下面的「Enable=false」改成「Enable = true」。
最後,重開 gdm:
# sudo /etc/init.d/gdm restart
1.2 VNC 的啟用方法:
「系統」->「偏好設定」->「遠端桌面」,
勾選「允許其他使用者觀看您的桌面」、「允許其他使用者控制您的桌面」、「使用者需要輸入密碼」,並且輸入密碼。
而「詢問您以確認」則不要勾選!
這樣就可以了。
風箏 發表在 痞客邦 留言(0) 人氣(6,792)
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程式設計講義區
|
|
|
基礎級課程 (資料以www.php.net官方網站內容為主,部份另自網路上取得,並盡可能註明來源出處,如有遺漏,敬請來信指正,謝謝!) |
編號
|
主題
|
內容大網
|
作業
|
備註
|
3
|
PHP 基本語法 |
- 程式碼概論
- 註解
- 變數、常數
- 資料型態
- 運算子
- 函式
- 外部傳遞變數
|
作業一:陣列
作業二: 簡易表單資料傳遞
|
|
|
運算子 ( Operator ) |
什麼是運算子(有人翻譯為「運算元」或「運算符號」),以下例來解釋:
$a + $b 稱為「表示式」(expressions)
+ 即稱為運算子(operator)
所以,在PHP的運算子裡,大致歸類下列十種:
- 算術運算子
- 指定運算子
- 位元運算子
- 比較運算子
- 錯誤控制運算子
- 執行運算子
- 加一/減一運算子
- 邏輯運算子
- 字串運算子
- 陣列運算子
|
|
|
1. 算術運算子 |
|
其實與一般的數學沒甚麼兩樣:
運算子
|
範例
|
用途
|
+
|
$a + $b
|
$a 和 $b 的和。 |
-
|
$a - $b
|
$a 和 $b 的差。 |
*
|
$a * $b
|
$a 和 $b 的乘積。 |
/
|
$a / $b
|
$a 除以 $b 的商。 |
%
|
$a % $b
|
$a 除以 $b 的餘數。 |
|
|
|
|
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 & $b |
And(且) |
將在 $a 和 $b 中都為 1 的位設為 1。 |
$a | $b |
Or(或) |
將在 $a 或者 $b 中為 1 的位設為 1。 |
$a ^ $b |
Xor(互斥) |
將在 $a 和 $b 中不同的位設為 1。 |
~ $a |
Not(補數) |
將 $a 中為 0 的位設為 1,反之亦然。 |
$a << $b |
Shift left(左移) |
將 $a 中的位向左移動 $b 次(每一次移動都表示“乘以 2”)。 |
$a >> $b |
Shift 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)
簡單的Sample Code
<% set Mail = Server.CreateObject("CDONTS.NewMail")
Mail.BodyFormat = 0
Mail.MailFormat = 0
Mail.From = "寄件者"
Mail.To = "收件者"
Mail.Subject = "主旨"
Mail.body ="內容"
Mail.Send
Set Mail=Nothing
%>
功能較多的Sample Code
<%Set email = Server.CreateObject("CDO.Message")
email.From ="寄件者"
email.To ="收件者"
email.Subject ="主旨"
email.HtmlBody ="內容"
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1" 'SMTP Server
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "帳號"
email.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "密碼"
email.Configuration.Fields.Update
email.Send
Set email = nothing
%>
mail 物件介紹
風箏 發表在 痞客邦 留言(0) 人氣(2,881)