Php 基礎常識

宣告變數 $

ex. $myVar = ‘aaa’; 
$後面不可以用數字開頭

數字的資料型態有 integer, float(包含小數點的數字)
不過php會自動轉換這兩種型態
$aNum = 5 //這時候是int
$bNum = $aNum/2 // 2.5 這時候就會是float

trace: echo

echo $a; //會在螢幕上show出$a

顯示資料型態: var_dump();

var_dump(33.3); // 螢幕出現: float(33.3)

字串的quotation ‘’ vs “”

單引號 會是普通字串

$a_str = ‘aaa’;
echo $a_str; //會出現aaa

雙引號可以帶入變數

$b = ‘Joe’;
$c = “I’m $b”;
echo $c; //會出現I’m Joe
$d = ‘I’m $b’;
echo $d; //會出現I’m $b

逃逸字元 \

$a = ‘hello’;
echo $a // hello
echo \$a // $a

組合字串(concat) dot(.) dot equal (.=)

想寫在一行 用dot
$aaa = ‘Hello ’.$bbb.’ world’;

想寫成多行 用dot equal
$aaa.= ‘yo man’;
$aaa.= ‘, nice to meet you.’;

要加入逃逸字元到字串, 必須用double quote

$aaa = ‘googogo’;
$aaa .= “\n”;
$aaa .=’power ranger’;

比較值 == vs ===

==會進行粗略比較 ===會加入資料類型比較

$a = 10; // int 10
$b = ‘10’; // 字串 10
var_dump($a == $b) //boolean(true)
var_dump($a === $b) //boolean(false)

判斷式

if(){
……..
} elseif() { 
……..
} else {
 ……..
}
//elseif中間沒空格 和js不同

陣列Array

$myArr = array(‘AAA’, ‘BBB’, ‘CCC’);
shorthand:
$myArr = [‘AAA’, ‘BBB’, ‘CCC’];
$myArr = [
 ‘name’ => ‘Joe’,
 ‘age’ => 29,
]; //也可以直接指定key, value

取得value:
$myArr[‘keyName’];

新增element到最後
$myArr[] = ‘DDD’;

或是新增多個到最後
array_push($myArr, ‘DDD’, ‘EEE’);

新增到最前面
array_unshift($myArr, ‘You’, ‘ZERO’);

消去第一筆
array_shift($myArr);

消去最後一筆
array_pop($myArr);

去除特定index element
unset($myArr[i]); 也可以多筆 unset($myArr[i], $myArr[j]);
不過unset會留下讓消去的element空間被清空 
也就是[i], [j]會變成null;
需要用$myArr = array_values($myArr) 來重整array把空缺填滿
unset也可用來清除變數
unset($myArr) 就會消除myArr這個變數; echo myArr就會出現error

array_merge
$result = array_merge($arr1, $arr2); //result會是arr1,arr2的結合
//需注意 如果arr1 有屬性和arr2重複 會被arr2的value覆寫
//index和value也會重置塞滿每個index
array_combine
array array_combine ( array $keys , array $values );
//由keys和values兩個array來合成新的array
//如果keys裡面有重複的key, 會由後面的key-value為主
array_slice
array array_splice ( array &$input , int $offset [, int $length = count($input) [, mixed$replacement = array() ]] )
offset是開始執行的index
length如果沒有寫就會把offset開始到結尾的element全部消掉
如果length是正數 就消去指定的element數量,
如果length為負數 會從尾消去到offset的element
ex $myArr=(‘a’,’b’,’c’,’d’,’e’,’f’);
array_splice($myArr, 2, -2); //從index -2 消除到index 2
//’a’,’b’,’e’,’f’
array_splice($myArr, 0, -1); //從index -1 消除到index 0
//’f’
如果有定義replace會從offset的index開始放

Loop

while loop
while($n<100){
echo$n;
n++;
}
可簡寫成
while(++$n<100){
echo $n
}

for loop
for($i = x; $i<y ; $i++){…}

foreach
foreach($myArr as $item){
 echo $item[‘keyName’];
}
foreach($myArr as $key=>$value) {
echo “$key : $value”;}

物件Object

$myObj = new someClass;
取得variable:
$myObj -> someVar;
寫入value到variable:
$myObj -> someVar = newValue;
呼叫function:
$myObg -> someFunc();
放參數到function:
$myObj -> someFunc2(theVar);

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.