-
- 搭建準備
- 多種注釋
- 變量
- 超全局變量
- 輸出方法
- 資料類型
- 定義類
- 字元串操作
- 聲明常量
- 運算符
- 針對數組進行循環
- 數組及其操作
- 關聯數組
搭建準備
- phpstorm下載下傳安裝
- XAMPP下載下傳(win版本)安裝
第一步:為MySQL資料庫設定密碼
- 進入127.0.0.1
- 進入右上角phpmyadmin
- 點選賬戶
- 點選修改權限
點選修改密碼後會到達下圖

5.修改完密碼後,如果我們直接重新進入phpmyadmin是會報錯的,因為我們設定的密碼沒有在 Apache伺服器的配置檔案進行登記
第二步:對密碼進行登記
進入xampp/phpmyadmin
打開config.inc.php進行密碼登記,再次進入127.0.0.1,成功進入
第三步:搭建IDE環境
打開phpstorm建立項目,将建立項目放在xammp/htdocs目錄下面
然後進行一下操作為項目配置PHP環境
打開左上角file->Languages & Franeworks->PHP
确定之後,我們前期的配置工作也就完成了
建立一個項目試試看吧!
<?php
echo "第一次PHP項目配置成功啦";
?>
運作成功!
多種注釋
<?php
/**
* Created by PhpStorm.
* User: haimian
* Date: 2018/5/12
* Time: 16:17
*/
echo "第一次PHP項目配置成功啦";
//注釋
`#我也是注釋
/*
* 我還能跨
* 很多行的
* 注釋
* */-----
?>
變量
$a=;
$b=; //php與其他強類型語言不同,不需要在建立變量的時候為變量賦予固定的資料類型,php可以根據賦予給變量的值而自動确定其資料類型
$c=$a+$b; //php的變量同樣與其他語言不同,隻要這個量依然是變量,$符号就不能省略,否則會報錯
echo $c;
$x=;
$y=;
function myTest(){
$y=; //局部作用域
echo "<p>測試函數内部的變量:</p>";
echo "變量x是:$x"; //編譯報錯,因為在php中全局變量因為不是在函數内部聲明,是以不能用在函數内部,但是可以定義相同的變量
echo "<br>";
echo "變量y是:$y";
}
myTest();
echo "<P>測試函數之外的變量:</P>";
echo "變量x是:$x";
echo "<br>";
echo "<P>變量y是:$y</P>"; //編譯報錯,函數内部聲明的變量同樣不能用在函數外
function myTestTwo(){
global $x,$y; //global用于在函數内部通路全局變量,也就是讓全局變量變得正在全局!
$y=$x+$y; //global在$GLOBALS[index]中存儲了所有的全部變量,下标存有變量名,可以用來在函數内更新全局變量
}
myTestTwo();
echo "<p>$y</p>";
function myTestThree(){
static $x=; //類似于靜态變量,通常當一個函數結束時,會釋放掉所有變量的值,此時将不會産生累加效果
echo "<p>$x</p>";
$x++; //但是,當我們加上static關鍵詞之後,變量的值将不會釋放,而會一直儲存
}
myTestThree(); //0
myTestThree(); //1
myTestThree(); //2
超全局變量
和global相似
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
* 我們将在以後進行詳細介紹
*
* */
輸出方法
echo "這是第一個輸出方法,調用echo";
print "這是第二個輸出方法,調用print";
$text1="我是一個變量";
$cars=array("我","是","一","個","數","組","字","符","串");
echo $text1 . "$cars[1]"; //echo調用變量時可以用引号,也可以不用引号,推薦使用echo,因為其不傳回值效率更高
資料類型
$s="字元串類型";
$i=; //整數類型
$f=; //浮點數類型
$lo=true; //邏輯類型
$ar=array("數組","類型");
$n=null; //null值,将變量值清空
定義類
class Oj
{
var $object;
function Oj($object="oj"){
$this->object=$object;
}
function what_object(){
echo "函數調用成功";
}
} //定義
$test=new Oj("oj");
$test->what_object(); //對方法進行引用
字元串操作
echo strlen("傳回字元串的長度函數strlen");
echo strpos("在一組字元中截取相應的片段","相應的片段");
//其他操作通過手冊查詢
聲明常量
define("GREETINE","welcome to php",true); //第一個為常量的命名,第二個為常量的内容,第三個如果為true,則常量命名對大小寫不敏感
echo GREETINE;
echo greetine;
運算符
$one=;
$two=;
正常運算符
echo ($one + $two); // 輸出 16
echo ($one - $two); // 輸出 4
echo ($one * $two); // 輸出 60
echo ($one / $two); // 輸出 1.6666666666667
echo ($one % $two); // 輸出 4
指派運算符
$x1=;
echo $x1; // 輸出 10
$y1=;
$y1 += ;
echo $y1; // 輸出 120
$z1=;
$z1 -= ;
echo $z1; // 輸出 25
$i1=;
$i1 *= ;
echo $i1; // 輸出 30
$j1=;
$j1 /= ;
echo $j1; // 輸出 2
$k1=;
$k1 %= ;
echo $k1; // 輸出 3
字元串運算符
$a = "Hello";
$b = $a . " world!"; //串接字元
echo $b; // 輸出 Hello world!
$x="Hello";
$x .= " world!"; //串接指派字元
echo $x; // 輸出 Hello world!
遞增/遞減運算符
$x2=;
echo ++$x2; // 輸出 11
$y2=;
echo $y2++; // 輸出 10
$z2=;
echo --$z2; // 輸出 4
$i2=;
echo $i2--; // 輸出 5
比較運算符
$x3=;
$y3="100";
var_dump($x3 == $y3);
echo "<br>";
var_dump($x3 === $y3);
echo "<br>";
var_dump($x3 != $y3);
echo "<br>";
var_dump($x3 !== $y3);
echo "<br>";
$a3=;
$b3=;
var_dump($a3 > $b3);
echo "<br>";
var_dump($a3 < $b3);
邏輯運算符
有六種 and,or,xor,&&,||,!
針對數組進行循環
$colors=array('1','2','3');
foreach($colors as $value){
echo "$value <br>";
}
資料運算符
$x4 = array("a" => "red", "b" => "green");
$y4 = array("c" => "blue", "d" => "yellow");
$z4 = $x4 + $y4; // $x 與 $y 的聯合
var_dump($z4);
var_dump($x4 == $y4);
var_dump($x4 === $y4);
var_dump($x4 != $y4);
var_dump($x4 <> $y4);
var_dump($x4 !== $y4);
數組及其操作
$testAr1=array("0","1","2");
$testAr2[]="我是索引0的内容";
echo $testAr1[] . $testAr2[];
echo count($$testAr1); //count函數可以傳回資料的長度
/*數組的排序函數
sort() - 以升序對數組排序
rsort() - 以降序對數組排序
asort() - 根據值,以升序對關聯數組進行排序
ksort() - 根據鍵,以升序對關聯數組進行排序
arsort() - 根據值,以降序對關聯數組進行排序
krsort() - 根據鍵,以降序對關聯數組進行排序
*更多的可以參考手冊
* */
關聯數組
$age1=array("Peter"=>"35");
//也可以
$age2=array('peter')="35";
echo "peter age is".$age1['Peter'];
echo "peter age is".$age2['peter'];
foreach ($age1 as $ag => $ag_value){
echo "age=".$ag."value".$ag_value;
}
?>