天天看點

PHP Web學習一:搭建開發環境與文法基礎

    • 搭建準備
    • 多種注釋
    • 變量
    • 超全局變量
    • 輸出方法
    • 資料類型
    • 定義類
    • 字元串操作
    • 聲明常量
    • 運算符
    • 針對數組進行循環
    • 數組及其操作
    • 關聯數組

搭建準備

  • phpstorm下載下傳安裝
  • XAMPP下載下傳(win版本)安裝

第一步:為MySQL資料庫設定密碼

  1. 進入127.0.0.1
  2. 進入右上角phpmyadmin
  3. 點選賬戶
  4. 點選修改權限

點選修改密碼後會到達下圖

PHP Web學習一:搭建開發環境與文法基礎

5.修改完密碼後,如果我們直接重新進入phpmyadmin是會報錯的,因為我們設定的密碼沒有在 Apache伺服器的配置檔案進行登記

第二步:對密碼進行登記

PHP Web學習一:搭建開發環境與文法基礎

進入xampp/phpmyadmin

打開config.inc.php進行密碼登記,再次進入127.0.0.1,成功進入

第三步:搭建IDE環境

打開phpstorm建立項目,将建立項目放在xammp/htdocs目錄下面

PHP Web學習一:搭建開發環境與文法基礎

然後進行一下操作為項目配置PHP環境

打開左上角file->Languages & Franeworks->PHP

PHP Web學習一:搭建開發環境與文法基礎

确定之後,我們前期的配置工作也就完成了

建立一個項目試試看吧!

<?php
    echo "第一次PHP項目配置成功啦";
?>
           
PHP Web學習一:搭建開發環境與文法基礎
PHP Web學習一:搭建開發環境與文法基礎

運作成功!

多種注釋

<?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;
}
?>
           

繼續閱讀