PHP foreach

第一種為 key 從 0 開始依序遞增的陣列,這時只需取得 value 即可

 foreach (array_name as $value)

foreach ($a as $i){  
     $sum +=$i;
}
echo "1+2+3+.....+99+100=".$sum."<br/>";
  • 第二種則是任意的 key-value 組合,此時需要兩個變數 $key 為 key 的值, $value 為 value 的值

 foreach (array_name as $key => $value)

$b = array(
       "one" => 1,
       "two" => 2,
       "three" => 3,
       "four" => 4
         );

foreach ($b as $key => $value){
    echo "{$key}: => {$value} <br/>"; 
}

strtok

strtok 函數

(PHP 4, PHP 5, PHP 7, PHP 8)

strtok — 标记分割字符串

说明

strtok(string $string, string $token): string|false
strtok(string $token): string|false

strtok() 将字符串 string 分割为若干子字符串,每个子字符串以 token 中的字符分割。这也就意味着,如果有个字符串是 “This is an example string”, 你可以使用空格字符作为 token,将这句话分割成独立的单词。

注意,仅第一次调用 strtok 函数时才使用 string 参数。 随后每次调用 strtok 都将只使用 token 参数,因为它会记住它在当前字符串中的位置。 如果要重新开始分割一个新的字符串,你需要再次使用 string 参数来调用 strtok 函数来对其进行初始化。 注意,可以在 token 参数中使用多个字符。字符串将被 token 参数中任何一个字符分割。

参数

string
被分成若干子字符串的原始字符串。
token
分割 string 时使用的分界字符。

範例

<?php
$string = "This is\tan example\nstring";
/* 使用制表符和换行符作为分界符 */
$tok = strtok($string, " \n\t");

while ($tok !== false) {
    echo "Word=$tok<br />";
    $tok = strtok(" \n\t");
}
?>
結果:
Word=This
Word=is
Word=an
Word=example
Word=string

explode

explode 函數

(PHP 4, PHP 5, PHP 7, PHP 8)

explode — 使用一个字符串分割另一个字符串

使用

explode(string $separator, string $string, int $limit = PHP_INT_MAX): array

參數

separator
边界上的分隔字符。
string
输入的字符串。
limit
如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。
如果 limit 参数是负数,则返回除了最后的 -limit 个元素外的所有元素。
如果 limit 是 0,则会被当做 1。

範例

<?php
// 示例 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// 示例 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *

?>
結果
範例一
piece1piece2
範例二
foo*

fgets

fgets 函數

(PHP 4, PHP 5, PHP 7, PHP 8)
fgets — 從文件指針中讀取一行

fgets(resource $stream, ?int $length = null): string|false

範例  逐行讀取文件

参数

stream
文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。

length
从 handle 指向的文件中读取一行并返回长度最多为 length – 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length – 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。

<?php
$fp = @fopen("/tmp/inputfile.txt", "r");
if ($fp) {
    while (($buffer = fgets($fp, 4096)) !== false) {
        echo $buffer;
    }
    if (!feof($fp)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($fp);
}
?>

fopen

fopen  函數

(PHP 4, PHP 5, PHP 7, PHP 8)
fopen — 打開文件或者 URL

fopen(
    string $filename,
    string $mode,
    bool $use_include_path = false,
    ?resource $context = null
): resource|false

mode

mode 參数指定了所讀取的類型。可以是以下:
fopen() 中 mode 的可能值列表
mode 說明
‘r’ 只讀方式打開,將文件指向文件頭。
‘r+’ 讀寫方式打開,將文件指向文件頭。
‘w’ 寫入方式打開,將文件指向文件頭並将文件大小截为零。如果文件不存在則創建它。
‘w+’ 讀寫方式打開,否則視為同 ‘w’。

<?php
$handle = fopen("c:\\folder\\resource.txt", "r");
?>

ADONewConnection連線Mysql

因為要使用mysqli的連線方式,舊的mysql連線怕以後不太適用了,所以改成ADONewConnection用mysqli連線。

語法:

include 'adodb.inc.php';

//Simple connection
$driver = 'mysqli';
$db     = adoNewConnection($driver);

// Now connect to the database
$db->connect('localhost','user','password','employees');

//取得資料
$recordSet = $db->Execute($sqlstr);
//警示連線錯誤
if ($recordSet === false) die( $sqlstr."<br> connect_failed");
$row = $recordSet->FetchRow();

新增三個台南113年市運報名網站

台南今年的市中運很不一樣,往年都是學校參賽,這是加上社會組,報名方式以區公所的名義組隊參賽。

還有一個最特別的是比賽時間,田徑學生組與社會組比賽時間不同,游泳學生組、社會組時間不一樣,單項協會不一樣。因應這麼不同只好分成三個網站。

游泳田徑社會組、球類與競技類田徑學生組

好用的筆記軟體

最近在搜尋一些資料,發現有許多網站的格式都好像例如(這一個)。後來爬文才知道,HackMD共寫平台。

它是台灣團隊所撰寫的,利用MarkDown語法,讓你的筆記形成網頁,可以跟他人共寫,也支援GitHub資料庫。

HackMD 是一個線上的共筆平台,採用 Markdown 語法來進行編輯,支援多人同時瀏覽與寫作。
HackMD 可運用在各種事物上,例如寫筆記、製作簡易的文件、製作旅遊規劃、甚至是製作簡報,都可以用 HackMD 來快速達成。
因為 Markdown 語法撰寫容易,僅需要直覺地將內容寫出來,搭配一些強調文字的小語法,就可以輕鬆又快速的製作出所需的內容,相較於其他文書編輯軟體,使用 Markdown 語法進行撰寫,不需花費太多的時間在排版上。
HackMD 最大的特點是支援多人的共筆,大家可同時進入同一份文件,並進行編輯,因為是線上編輯器的緣故,所以做的任何更改都會即時的儲存到網路上,不必擔心使用到一半,設備出問題,導致資料遺失的情況。
HackMD 也支援使用第三方的帳號來登入,像是登入現有的 GitHub、Google、Facebook 等帳號,就可以直接使用 HackMD 的服務,然而 HackMD 也支援匿名撰寫的方式,筆記的擁有者可將連結傳送給任何人,那也可在無需登入的情況下就可直接查看並編輯筆記。
HackMD 的編輯器非常的自由,除了支援 Markdown 語法外,甚至可支援 CSS 與 HTML 的部分元素。
以下這是 HackMD 官方的使用教學,官方已用繁體中文將幾乎所有功能的使用方式都詳細的寫在裡面了,讓大家可直接的複製貼上語法,即可呈現出與教學一樣的內容。
HackMD 使用教學: https://hackmd.io/c/tutorials-tw/
課程資源: https://hackmd.io/@linwebstw/study-ncyu
HackMD 同步 GitHub 儲存庫: https://linwebs.tw/course/other/hackmd-github
課程影片 YouTube 連結: https://youtu.be/w5-0XF5WQ9g

林林.台灣 | Linwebs