腳本PHP標記符
- 一般的:php以
<?php
開頭,以?>
結尾,如果文本全都是php內容,結尾可不寫。 -
<?
和?>
是一對【不常用的標識符,默認是沒有激活的,如果要激活則修改/etc/php5/
下的cli/
或fpm/
下的php.ini
中short_open_tag
為short_open_tag = On
就可以了
cli/
是在命令行能夠執行,fpm/
是在網站上可以執行
PHP條件語句
<?php if (true): ?>
為真時,執行此行
<?php else: ?>
為假時執行此行
<?php endif; ?>
字典、數組遍歷
$array = array(
"1" => "a",
"2" => "b",
"3" => "c",
"4" => "d",
"5" => "e",
);
foreach ($array as $key => &$value){
$value = "cc";
echo $key."----->".$value."\n";
unset($value);
}
foreach循環中如果value用了引用,數組最后一個元素的value引用在循環之后仍會保留。應該用unset()來將其消毀。
PHP幾個簡單的函數
- 打印某一個變量的類型和值:
var_dump()
$a = "abc";
var_dump($a); //string(3) "abc"
print_r("abc");
- 返回一個變量的所有數據
$arr = var_export($array);
- 獲取某個變量的類型名稱:
gettype()
echo gettype($a); //string
- 判斷一個變量是否為某個類型:
is_int is_bool is_string
if(is_string($a)){
echo "\n is string"; //is string
}
- 強制裝換:
set type($var, $type)
或($type)$a
(int)$a;
settype($a,int);
PHP數據類型
$foo = "0"; // $foo (ASCII 48)
$foo += 2; // $foo (2)
$foo = $foo + 1.3; // $foo (3.3)
$foo = 5 + "10 Little Piggies"; // $foo (15)
$foo = 5 + "10 Small Pigs"; // $foo (15)
$foo = "5bar"; // string
$bar = true; // boolean
settype($foo, "integer"); // $foo 現在是 5 (integer)
settype($bar, "string"); // $bar 現在是 "1" (string)
- Boolean 布爾類型
<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) 1); //bool(true)
var_dump((bool) -2); //bool(true)
var_dump((bool) "foo"); //bool(true)
var_dump((bool) 2.3e5); //bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
?>
- Integer 整型 (php不可以整除)
int(3/2) //1
round(3/2) //2 四舍五入
- String 字符串類型
單引號:abc\'efg\r\n
,內部單引號可以轉義,\r\n不轉義,內部變量不展開
雙引號:abc\'efg\r\n
,可以轉義,內部變量展開
$name = "xq";
echo <<< ETO
My name is "$name".
Now, I am printing something.
ETO;
- Array 數組
key 可以是 integer 或者 string。value 可以是任意類型.
此外 key 會有如下的強制轉換:
1> 包含有合法整型值的字符串會被轉換為整型。例如鍵名 "8" 實際會被儲存為 8。但是 "08" 則不會強制轉換,因為其不是一個合法的十進制數值。
2> 浮點數也會被轉換為整型,意味著其小數部分會被舍去。例如鍵名 8.7 實際會被儲存為 8。
3> 布爾值也會被轉換成整型。即鍵名 true 實際會被儲存為 1 而鍵名 false 會被儲存為 0。
4> Null 會被轉換為空字符串,即鍵名 null 實際會被儲存為 ""。
數組和對象不能被用為鍵名。堅持這么做會導致警告:Illegal offset type
$array = array(
"foo" => "bar",
"bar" => "foo",
);
//自PHP 5.4 起
$array = [
"foo" => "bar",
"bar" => "foo",
];
$arr = [
1 => "a",
"1" => "b",
1.5 => "c",
true => "d",
];
// 值為: 1 => "d"
$arr1 = array(
42 => 24,
);
echo $arr1[42]; //值為:24
echo $arr1["42"]; //值為:24
echo $arr1["42.5"];//值為:NULL,不打印
echo $arr1[42.5]; //值為:24