傳賴清德飆罵將官?栗正傑轟三軍統帥竟不懂軍人禮節:丟臉、凸顯他沒威望
報導說:賴總統在晉升場合,當場翻臉罵人!
這是把讀者當成白癡嗎~有人會自動把醜態公開給大家看嗎?
會做出這種舉動的,一定是自己平時也會這樣做的人吧!自動把別人也類化為同種人。這也說明難怪某些政黨出國時,會出現以下的新聞。

報導說:賴總統在晉升場合,當場翻臉罵人!
這是把讀者當成白癡嗎~有人會自動把醜態公開給大家看嗎?
會做出這種舉動的,一定是自己平時也會這樣做的人吧!自動把別人也類化為同種人。這也說明難怪某些政黨出國時,會出現以下的新聞。
(PHP 4, PHP 5, PHP 7, PHP 8)
sprintf — 返回格式化字符串
sprintf(string $format, mixed …$values): string
符號表示
S 以字串方式顯示
d以整數方式顯示
<?php
$num = 5;
$location = 'tree';
$format = 'There are %d monkeys in the %s';
echo sprintf($format, $num, $location);
?>
以上範例會输出:
There are 5 monkeys in the tree
sizeof — count() 的别名
參數
數值或變數
返回值: int
If your array is "huge"
It is reccomended to set a variable first for this case:
THIS->
$max = sizeof($huge_array);
for($i = 0; $i < $max;$i++)
{
code...
}
賽事名稱-113年臺南市長盃國小田徑賽
這次是我幫忙接手後,第 一次,從建置資料庫、完成報名、編排秩序冊、賽道、輸入紀錄、印獎狀、填入總錦標,各種階段我從頭到尾參與的。
比賽第一天,就發生管理者帳號無法登入。solved!
第二天騎車的途中,建璋跟我說:網站沒有線上可以讓學校自行填報接力選手的介面。 solved!
第三天,有學校私底下提出,有學校選手參加四項比賽,看能不能抓出違規。solved!
第三天下午,要結束前計算總錦標,有學校發現總錦標沒有把全能成績加進去。solved!
真是緊湊的一個星期啊!
正規表式
//'7'正規表示式
$session_name = $session_txt['7.1'];
echo $session_name."<br>";
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
ereg() int ereg(string pattern, string string [, array regs])<br>
這函式會以pattern 中所指定的正規表示式來搜尋對應字串,並以陣列方式傳回。
<br>
</fieldset>
";
echo $message."<br>";
//$datesever=$_SERVER['REQUEST_TIME'];
//echo $datesever."<br>";
$datestr=date("m-d-Y");
echo $datestr."<br>";
$date = $datestr;
if (ereg("([0-9]{1,2})-([0-9]{1,2})-([0-9]{4})", $date, $regs)){
echo ("$regs[2].$regs[1].$regs[3]");
}else{
echo ("Invalid date format: $date");
}
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
ereg_replace() (string pattern, string replace, string string )<br>
這是個將字串中的pattern 以replacement來代替的函式。這個函式會傳回所找到並加以修改<br>
過的字串加以運用。
<br>
</fieldset>
";
echo $message."<br>";
$num = '10';
$string = 'Ten Little Indians sitting ....';
echo "Befor: ". $string."<br>";
$string = ereg_replace('Ten', $num, $string);
echo "After: ". $string."<br>";
echo $breakstr."<br>";
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
eregi() int ereg(string pattern, string string [, array regs])<br>
這個函式和ereg()相同,只不過它忽略了對應到字母字元的狀況。<br>
eregi_replace() (string pattern, string replace, string string )<br>
這個函式和ereg_replace()相同,只不過它忽略了對應到字母字元的狀況。<br>
<br>
</fieldset>
";
echo $message."<br>";
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
split() array split(string pattern, string string [, int limit])<br>
這個函式會傳回一個字串陣列,其中每一個都是以正規表示式pattern所形成的子字串的邊界所<br>
區隔而成的字串。當limit引數有指定時,則所傳回的陣列會包含最多limit個元素,而其餘的<br>
元素則包含在string引數中。<br>
spliti()和split()相同,只不過它在對應字母時會忽略大小寫。
<br>
</fieldset>
";
echo $message."<br>";
$date = "19/Sep/1966 is my date of birth";
$array_date = split('[/.-]', $date, 4);
echo "Day: ".$array_date[0]. "Month: ".$array_date[1]."
Year:". $array_date[2];
echo "<br>";
echo $array_date[3];
echo $breakstr."<br>";
物件導向
//'5.3'以PHP進行物件導向程式設計-繼承
$session_name = $session_txt['5.3'];
echo $session_name."<br>";
//這個方法比較複雜
$mediaItems = array();
$books = array();
$cds = array();
$item->id =1;
$item->type ="book";
$item->name ="Professional PHP4";
$item->inStock =33;
$item->price =49.95;
$item->rating =5;
$mediaItems[] =$item;
$book->isbn =124465343442;
$book->author ="Ken Egervari";
$book->numberOfPages =500;
$books[$item->id] =$book;
$item->id =2;
$item->type ="cd";
$item->name ="This way";
$item->inStock =120;
$item->price =16.94;
$item->rating =4;
$mediaItems[] =$item;
$cd->serialNo =323254354;
$cd->artist ="Jewel";
$cd->numberOfTradks =13;
$cds[$item->id] =$cd;
foreach ($mediaItems as $item){
echo ("Name: " .$item->name. "<br>");
echo ("Items in stock: " .$item->inStock. "<br>");
echo ("Price: " .$item->price. "<br>");
echo ("Rating: " .$item->rating. "<br>");
switch ($item->type){
case 'cd':
echo ("Serial No: " .$cds[$item->id]->seriaNo. "<br>");
echo ("Artist: " .$cds[$item->id]->artist. "<br>");
echo ("# of Tracks: " .$cds[$item->id]->numberOfTradks. "<br>");
break;
case 'software':
break;
case 'movie':
break;
case 'book':
break;
}
}
//用class 繼承 extends
//Media.php
define ("MIN_RATING", 0);
define ("MAX_RATING", 5);
class Media
{
var $id;
var $name;
var $inStock;
var $price;
var $rating;
function Media ($id,$name,$inStock,$price,$rating)
{
if ($inStock < 0) $inStock = 0;
if ($price < 0) $price =0;
if ($rating < MIN_RATING) $rating = MIN_RATING;
if ($rating > MAX_RATING) $rating = MAX_RATING;
$this->id = $id;
$this->name = $name;
$this->inStock = $inStock;
$this->price = $price;
$this->rating = $rating;
}
function buy()
{
$this->inStock--;
}
function display()
{
echo "name: " .$this->name. "<br>";
echo "Items in stock: " .$this->inStock. "<br>";
echo "Price: " .$this->price. "<br>";
echo "Rating: " .$this->rating. "<br>";
}
}
//Book.php
class Book extends Media
{
var $isbn;
var $author;
var $numberOfPages;
function Book($id, $name, $inStock, $price, $rating,
$isbn, $author, $numberOfPages)
{
$this->Media($id, $name, $inStock, $price, $rating);
$this->isbn = $isbn;
$this->author = $author;
$this->numberOfPages = $numberOfPages;
}
function display()
{
Media::display();
echo "ISBN: ". $this->isbn. "<br>";
echo "Author: ". $this->author. "<br>";
echo "number of pages: ". $this->numberOfPages. "<br>";
}
}
$book = new Book(0,'PHP Programming',23,59.99,4,'124-4333-4443',
'Ken Egervari',1024);
$book->display();
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
class檔案:Media.php、主程式檔:Book.php<br>
要注意的是,我們所有的媒體在建構後都有相同的行為。所有的display()方法<br>
都不受引數,並且會適當地顯示每一個不同媒體項目。
<br>
</fieldset>
";
echo $message."<br>";
字元與運算子
//'3.1'跳脫字元
$session_name = $session_txt['3.1'];
echo $session_name."<br>";
//$text = "This text goes\nacross several\nlines\t\"and this quotion is indented\"";
echo nl2br("This text goes\nacross several\nlines\t\"and this quotion is indented\"");
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
我們會用到\符號來跳脫後面的符號,至於N->斷行、T->定位<br>
都沒有用,要能有用,必須加上<font color=red>nl2br()</font>函式來轉換。
<br>
</fieldset>
";
echo $message."<br>";
//'3.2'運算子
$session_name = $session_txt['3.2'];
echo $session_name."<br>";
@define(CREATE_RECORDS, 1);
@define(DELATE_RECORDS, 2);
@define(ALTER_RECORDS, 4);
@define(ADMINISTATOR, 8);
$user_permissions = CREATE_RECORDS |ALTER_RECORDS;
echo (($user_permissions & CREATE_RECORDS) ? "user can creats records<br>" : "");
@define (TWO, 2);
@define (FOUR, 4);
echo (TWO << FOUR)."<br>";
echo (FOUR >> TWO)."<br>";
//$Myconn=$conn; //使用mysqli_connect連線
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
位元運算子:且(&)、或(|)、互斥(^)、補數(~)、左移(<<)、右移(>>)<br>
左移(Shift Left):<br>
echo 11<<2;<br>
11往左邊移動2個位元,output:44<br>
左移運算就是將全部位元往左移兩格,然後右邊補上0<br>
11(1011) ->左移一次,右邊補0-> 22(10110) ->左移一次,右邊補0-> 44(101100)<br>
<br>
數值運算子:相加(+)、相乘(*)、相減(-)、相除(/)、餘數運算子(%)。<br>
<br>
比較運算子:小於(<)、小於等於(<=)、大於(>)、大於等於(>=)。傳回true或false<br>
<br>
邏輯運算子:且(and或&&)、或(or或||)、非(!)、互斥(xor)。傳回true或false<br><br>
</fieldset>
";
echo $message."<br>";
isset($變數)
用途
偵測,裡面的變數是否有被宣告且其值不為null。
if (isset($sumit)){
array()函式是接收一串以逗號為區隔的資料,放入陣列中。
$aLanguages = array("Arabic", 3 => "German", "Korean", "Tagalog");
echo $aLanguages[0] ; // "Arabic"
echo $aLanguages[3] ; // "German"
echo $aLanguages[4] ; // "Korean"
echo $aLanguages[5] ; // "Tagalog"
若我們沒有指定任何索引值,這些陣列的元素會被指派預設的索引值。要明確指定array()構件中的索引值的話,要用 =>運算子。
//'13.1'擷取其他程式的輸出
$session_name = $session_txt['13.1'];
echo $session_name."<br>";
//echo ROOT_PATH."<br>";
$current_date = 'date';
$pp =popen('date','r');
while ($line = fgets($pp,1024)){
$output .=$line;
}
pclose($pp);
show_array($output);
exec('date',$output_1);
print implode ("\n",$output_1)."<br>";
show_array($output_1);
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
exec()函數。此函式會開啟一個管線連接到某個程式,並將該程式所有的輸出<br>
逐行放到陣列中(欲填入的陣列當成第二個參數)。
<br>
</fieldset>
";
echo $message."<br>";
//'13.2'印出程式的輸出
$session_name = $session_txt['13.2'];
echo $session_name."<br>";
//echo ROOT_PATH."<br>";
passthru('date');
$message="
<fieldset><legend><font color=red>TIPS</font></legend>
passthru()函式
<br>
</fieldset>
";
echo $message."<br>";