iT邦幫忙

1

PHP 自學筆記 (1)

最近,開始學習PHP,但還沒有碰很多,希望把一些基本簡單的知識,能夠記錄下來。

PHP的開頭是<?php,程式碼都寫在裡面,而echo可以輸出字串,如果為非字串類型(如number)的話,他會強制轉型。


<?php

echo "halo";

而變數的部分,為$開頭,而我們可利用var_dump(xxx),來顯示資料,並且會顯示他的類型。


$thisIsInt = 10;
var_dump($thisIsInt); // int(10)
echo $thisIsInt; // "10"
echo "<br/>";

也可顯示以進制表示法的數值。


// 進置表示法
$thisIsHex = 0x87;
$thisIsBinary = 0b10011000;

var_dump($thisIsHex); // int(135)
echo "<br/>";
var_dump($thisIsBinary); // int(152)
echo "<br/>";

與JS的Float相似,有ceil、floor、round等等方法。


$thisIsFloat = 1.8787887;
var_dump($thisIsFloat); // float(1.8787887)
echo "<br/>";

// 跟js一樣四捨五入取最大整數
$thisIsFloat2 = ceil(8.877); // float(9)
// 跟js一樣四捨五入取最小整數
$thisIsFloat3 = floor(8.877); // float(8)
// 四捨五入取兩位
$thisIsFloat4 = round(8.877, 2); // float(8.88)
// 將float轉整數
$thisIsFloat5 = intval(8.877); // int(8)
// 將number轉float
$thisIsFloat6 = floatval(8); // float(8)

字串與數值拼接,並不是以'+',而是以.去做拼接的動作。


// 字串與數值拼接
$number1 = 1;
$number2 = 2;
echo "數字1" . $number1 . "是我";
echo "<br/>";
echo "數字2" . $number2 . "是我";

而運算符號的優先性也與Js相似(先乘除後加減,括號先做)。

$second = 7300;
$hour = intval($second / (60 * 60));
$min = intval(($second % (60 * 60)) / 60);
$sec = ($second % (60 * 60)) % 60;
echo $hour . "時" . $min . "分" . $sec . "秒";
echo "<br/>";

而if...else...的概念跟js大致相同。
迴圈我們可以利用foreach,此處的foreach與js的有點不同,都是對陣列做處理,但是寫法不同。
在下面首先我們創建一個資料的變數,並利用array()將他設置為空陣列,而後在賦予每個資料屬性名稱[""]及屬性值。


$total = 0;
$data = array();
// 賦予陣列屬性名及值。
$data["1"] = 100;
$data["2"] = 200;
$data["3"] = 300;
$data["4"] = 400;
$data["5"] = 500;

第一種foreach寫法:只會回傳屬性值


foreach ($data as $value) {
    $total = $total + $value;
    echo "item" . $value . "<br/>";
}

第二種foreach寫法:會回傳屬性及屬性值

// $key為屬性名,$value為屬性值。
foreach ($data as $key => $value) {
    echo "item" . $key . ":" . $value . "<br/>";
}

echo "總價為:" . $total . "<br/>";

https://ithelp.ithome.com.tw/upload/images/20200615/20126182EH4ssmTWzP.png


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言