PHP學(xué)習(xí)第一天

前言:PHP筆記匹中,屬于個人的學(xué)習(xí)、理解豪诲、收集顶捷、整理。分享于此屎篱,一同共勉服赎,如果有誤,敬請告之交播,吾必改之重虑。

古人云:理論還是要靠實(shí)踐來檢驗(yàn)∏厥浚基礎(chǔ)知識就不多說了嚎尤,推薦個php教程吧,很適合新手查閱伍宦。

一、php變量的數(shù)據(jù)類型

共八種:整數(shù)型(int)乏梁、浮點(diǎn)型(float)次洼、布爾型(boolean)遇骑、字符串(string)、數(shù)組(array)、對象(object)亥啦、空類型(null)和資源類型(resource)炭剪;

Note:其中數(shù)組和對象是復(fù)合類型;空類型和資源類型是特殊類型翔脱。

  • int類型:整數(shù)類型為正數(shù)奴拦、負(fù)數(shù)和0届吁,正常理解的整數(shù)。
  • float類型:浮點(diǎn)型為正常理解的小數(shù)疚沐、包括正負(fù)小數(shù)暂氯。
  • string類型:加上引號的數(shù)據(jù)一般為字符型(雙引號可以解析變量、單引號則不能)亮蛔。
  • array類型:數(shù)組為一組或多組數(shù)據(jù)組成的,數(shù)組數(shù)據(jù)可以為任何類型究流。
  • object類型:對象,可以通過New語句實(shí)例化一個類齿尽,常見于類與對象的調(diào)用灯节。
  • boolean類型:布爾只有兩個值,真(true)與假(false)(一般用于流程判斷)。
  • null類型:值為空(特殊的 NULL 值表示一個變量沒有值炎疆。NULL 類型唯一可能的值就是 NULL。)形入。
  • resource類型:為資源類型,沒有特定的值浓若,可以是圖片蛇数,視頻,數(shù)據(jù)等耳舅。

重點(diǎn)看實(shí)例:

<?php
$bool = true;
$str = "foo";
$int = 12;

echo gettype($bool);//prints out "boolean"
echo "<hr/>";
echo gettype($str);//prints out "string"
echo "<hr/>";
echo gettype($int);//prints out "integer"
echo "<hr/>";
$bool = 12;
echo gettype($bool);//prints out "integer"
?>

注意:越到后邊文字描述就越少,建議先去看下教程了解下基礎(chǔ)馏予,我主要是為了動手操作,主要目的就是為了操作霞丧,實(shí)戰(zhàn)蚯妇,所以后邊實(shí)例會越來越多

二敷燎、PHP中與眾不同continue

continue與眾不同之處在于接受一個可選的數(shù)字參數(shù)來決定跳過幾重循環(huán)到循環(huán)結(jié)尾箩言。

<?php
#php_continue.php
/*
在php中,continue 在循環(huán)結(jié)構(gòu)用用來跳過本次循環(huán)中剩余的代碼并開始執(zhí)行下一次循環(huán)陨收。
這一點(diǎn)和其他語言是一致的,
不過拄衰,另有妙處:continue 接受一個可選的數(shù)字參數(shù)來決定跳過幾重循環(huán)到循環(huán)結(jié)尾饵骨。
*/
$i = 0;
$j = 0;
while ($i++ < 3) {//level 3
echo "Outer /n";
while (1) {//level 2
echo " Middle /n";
while (1) {//level 1
echo " Inner /n";
continue 3;
}
echo "This never gets output. /n";
}
echo "Neither does this. /n";
$j++;
//after runs continue 3,it comes to the end of level 3
}
echo "/$j=$j";//output: $j=0
?>
三、PHP中的數(shù)組
<?php
#php_array.php
/*默認(rèn)的方式下妖混,php的array的key是非負(fù)整數(shù)轮洋,這種情形和多數(shù)語言如c,c++,java中的數(shù)組是一致的
*從這點(diǎn)看,java中的數(shù)組其實(shí)是php中數(shù)組的一種默認(rèn)的方式弊予;而php的array則還有java中Map類的特
性:key-value×phpmanual中的說法“PHP 中的數(shù)組實(shí)際上是一個有序圖。圖是一種把 values 映射
到 keys 的類型”
*/
$array=array("0","1","2","3","4","5");
print_r($array);
/*
output:
Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
)
*/
//用 count() 函數(shù)來數(shù)出數(shù)組中元素的個數(shù)
for ($i=0,$size=count($array);$i<$size;$i++)
{
    echo  $array[$i];
    echo "/n";
}
/*
output:
0
1
2
3
4
5
*/
/*use foreach to loop*/
echo "foreach to loop/n";
foreach($array as $temp){
    echo($temp);
    echo "/n";
}
//output as above
/* foreach example 1: value only */
$a = array (1, 2, 3, 17);
foreach ($a as $v) {
  print "Current value of /$a: $v./n";//這里使用了轉(zhuǎn)義字符/误褪,使得$a作為一個字串輸出
}
/*
output:
Current value of $a: 1.
Current value of $a: 2.
Current value of $a: 3.
Current value of $a: 17.
*/
/* foreach example 2: value (with key printed for illustration) */
$a = array (1, 2, 3, 17);
$i = 0; /* for illustrative purposes only */
foreach ($a as $v) {
   print "/$a[$i] => $v./n";
   $i++;
}
$array2=array("a"=>"avalue","b"=>"bvalue","c"=>"b");
print_r($array2);
echo "****/n";
echo $array2[$array2["c"]];//
//echo $array2[$array2[2]];//企圖像java那樣使用數(shù)組下標(biāo)方式兽间,是無效的
echo "/n***/n";
/*output:
****
bvalue
***
*/
$arr = array("foo" => "bar", 12 => true);
echo $arr["foo"]; // bar
echo $arr[12];    // 1
?>
四斋扰、可變變量、字符串運(yùn)算符和數(shù)組運(yùn)算符:(相異于其他語言的部分)
<?php
#php的可變變量
/*可變變量就是變量名可以動態(tài)的設(shè)置和使用的變量传货。
一個可變變量獲取了一個普通變量的值作為這個可變變量的變量名。
因?yàn)槠胀ㄗ兞康闹凳强勺兊拇冢钥勺冏兞康淖兞棵彩强勺兊摹?*/
//可變變量適合在什么場合使用呢粮宛?
$a = "hello";//定義一個普通變量
$$a = "world";//定義一個可變變量
echo "$a/n";//output:hello
echo "${$a}/n";//使用可變變量
//同echo "$hello/n";//output:world
echo "$hello/n";
?>

<?php
#php的字符串運(yùn)算符
//連接運(yùn)算符(“.”)
$a="first";
$b=$a."==>second";//now $b is "first==>second"
echo "$b/n";
//連接賦值運(yùn)算符(“.=”)
//the same to $a=$a."==>second"
$a.="==>second";//now &a is "first==>second"
echo "$a/n";
/*其實(shí)可以理解為就只有一種,即連接運(yùn)算符
這里的點(diǎn)(".")連接運(yùn)算符和java語言中的字符串連接符("+")是類似的。*/
?>

<?php
#php的數(shù)組運(yùn)算符:+
/* PHP 僅有的一個數(shù)組運(yùn)算符是 + 運(yùn)算符忧饭。
它把右邊的數(shù)組附加到左邊的數(shù)組后筷畦,但是重復(fù)的鍵值不會被覆蓋。
亦即鳖宾,以左邊的數(shù)組為主導(dǎo),若附加其上的(右邊的)數(shù)組中有與其key重復(fù)的部分將被忽略
*/
$a = array("a" => "apple", "b" => "banana");
$b = array("a" =>"pear", "b" => "strawberry", "c" => "cherry");
$a1=array("c"=>"a1_cherry","d"=>"a1=d");
$c = $a + $b;
var_dump($c);
/*output:
array(3) {
  ["a"]=>
  string(5) "apple"
  ["b"]=>
  string(6) "banana"
  ["c"]=>
  string(6) "cherry"
}
*/
$d = $a + $b+$a1;
var_dump($d);
/*output:
array(4) {
  ["a"]=>
  string(5) "apple"
  ["b"]=>
  string(6) "banana"
  ["c"]=>
  string(6) "cherry"
  ["d"]=>
  string(4) "a1=d"
}
*/
?>
五渔肩、NULL
PHPmanual關(guān)于NULL的描述:"
NULL
特殊的 NULL 值表示一個變量沒有值拇惋。NULL 類型唯一可能的值就是 NULL。
在下列情況下一個變量被認(rèn)為是 NULL:
  * 被賦值為 NULL栏饮。
  * 尚未被賦值磷仰。
  * 被 unset()。
NULL 類型只有一個值灶平,就是大小寫敏感的關(guān)鍵字 NULL。
"
好混亂啊罐监,在javascript中還有關(guān)鍵字:var用來聲明變量瞒爬,php沒有沟堡,美元符號($)后面跟個合法的字
符串矢空,一個php的變量就誕生了,如上所說屁药,它尚未被賦值,應(yīng)該被認(rèn)為是:NULL复亏。使用strlen()試圖將
其當(dāng)作string缭嫡,并算出它的長度,這樣做械巡,php引擎不認(rèn)為是錯用。
<?php
if(is_null($none))
    print "length=".strlen($none)."/n";//can output:length=0
else
    print "undefined variable/n";//can not come here
?>

<?
//PHPmanual說明:(1)is_null --  檢測變量是否為 NULL
//(2)NULL 類型只有一個值有勾,就是大小寫敏感的關(guān)鍵字 NULL
$fo=null;
if(is_null($fo))
{//依據(jù)上述(2)古程,并非大寫的NULL,本不該執(zhí)行此處的挣磨,實(shí)際上并非如此,why塘砸?
    echo "/$fo=null is NULL/n";//output:$fo=null is NULL
}
$foo=NULL;
if (is_null($f)) {
    echo "/$f=NULL is also NULL";//out put:$f=NULL is also NULL
}
?>

牛人說了晤锥,重要的事說三遍:

  • 學(xué)習(xí)語言要吸收理論知識,掌握其原理女轿,加上多動手實(shí)踐壕翩,融會貫通,必成大氣放妈!

  • 學(xué)習(xí)語言要吸收理論知識荐操,掌握其原理珍策,加上多動手實(shí)踐,融會貫通,必成大氣唉堪!

  • 學(xué)習(xí)語言要吸收理論知識,掌握其原理链方,加上多動手實(shí)踐灶搜,融會貫通,必成大氣割卖!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鹏溯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子丙挽,更是在濱河造成了極大的恐慌,老刑警劉巖平窘,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凳怨,死亡現(xiàn)場離奇詭異,居然都是意外死亡磅叛,警方通過查閱死者的電腦和手機(jī)萨赁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敲董,“玉大人,你說我怎么就攤上這事腋寨。” “怎么了铃剔?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵查刻,是天一觀的道長。 經(jīng)常有香客問我普气,道長佃延,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任仔沿,我火速辦了婚禮尺棋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘陡鹃。我一直安慰自己,他們只是感情好闷叉,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布脊阴。 她就那樣靜靜地躺著,像睡著了一般品擎。 火紅的嫁衣襯著肌膚如雪备徐。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天蜜猾,我揣著相機(jī)與錄音振诬,去河邊找鬼衍菱。 笑死,一個胖子當(dāng)著我的面吹牛辫呻,可吹牛的內(nèi)容都是我干的琼锋。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼从橘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起叉谜,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤踩萎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后董栽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體企孩,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年擒抛,在試婚紗的時候發(fā)現(xiàn)自己被綠了补疑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡诊胞,死狀恐怖锹杈,靈堂內(nèi)的尸體忽然破棺而出鳞尔,到底是詐尸還是另有隱情早直,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布糕韧,位于F島的核電站喻圃,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏斧拍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一愚墓、第九天 我趴在偏房一處隱蔽的房頂上張望昂勉。 院中可真熱鬧,春花似錦岗照、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至渠抹,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奇颠,已是汗流浹背放航。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荆几,地道東北人吓妆。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓行拢,卻偏偏與公主長得像诞吱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子房维,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容