首頁 > 後端開發 > php教程 > PHP學習筆記一

PHP學習筆記一

不言
發布: 2023-03-24 12:02:01
原創
1757 人瀏覽過

這篇文章介紹的內容是關於PHP學習筆記一,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下


在點擊開啟連結上學習PHP筆記。

1、PHP框架

<?php
//这是PHP程序代码
?>
登入後複製


2、變數

(1)命名規則

#變數以$ 符號開始,後面跟著變數的名稱

變數名稱必須以字母或底線字元開始

變數名稱只能包含字母數字字元以及底線(A-z、0-9 和_ )

變數名稱不能包含空格

變數名稱是區分大小寫的($y 和$Y 是兩個不同的變數)



#注意:PHP變數和語句都區分大小寫。


(2)沒有宣告變數的語句,變數在第一次賦值時被建立。

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
登入後複製


(3)PHP是弱型別語言,PHP會根據變數的值,自動把變數轉換成正確的資料型別。


(4)變數作用域(四):local、global、static、parameter



##local:局部變量,在PHP函數內部聲明的,僅能在函數內部存取

global:全域變量,在所有函數外部定義的變量,擁有全域作用域;要在一個函數中存取一個全域變量,需要使用global關鍵字


<?php 
$x=5; // 全局变量 

function myTest() 
{ 
    $y=10; // 局部变量 
    echo "<p>测试函数内变量:<p>"; 
    echo "变量 x 为: $x"; 
    echo "<br>"; 
    echo "变量 y 为: $y"; 
}  //仅能输出$y的值,不能输出x的值,因为它是全局变量没有函数中使用global关键字

myTest(); 

echo "<p>测试函数外变量:<p>"; 
echo "变量 x 为: $x"; 
echo "<br>"; 
echo "变量 y 为: $y"; //仅能输出$x,不能输出$y
?>
登入後複製


<?php
$x=5;
$y=10;
 
function myTest()
{
    global $x,$y;
    $y=$x+$y;
/*等同于:
$GLOBALS[&#39;y&#39;]=$GLOBALS[&#39;x&#39;]+$GLOBALS[&#39;y&#39;];
*/}
 
myTest();
echo $y; // 输出 15
?>
登入後複製

PHP將所有全域變數儲存在在一個名為$GLOBALS[index]的陣列中,index保存變數名稱;這個陣列可以在函數內部訪問,也可以直接用來更新全域變數。




static:當你希望某個函數的局部變數在函數完成時不要被刪除,可以使用static關鍵字。但其仍是局部變數。

parameter:參數是透過程式碼呼叫給函數,作為函數的一部分宣告。

<?php
function myTest($x)
{
    echo $x;
}
myTest(5);
?>
登入後複製


3、echo語句和print語句

兩者皆為輸出語句。

echo可以輸出一個或多個字串,沒有回傳值,輸出速度比print快;


print只允許輸出一個字串,回傳值總為1。

<?php
echo "<h2>PHP 很有趣!</h2>";//文字是标题格式
echo "Hello world!<br>";
echo "我要学 PHP!<br>";
echo "这是一个", "字符串,", "使用了", "多个", "参数。";//可以输出多个字符串
?>
登入後複製
<?php
print "<h2>PHP 很有趣!</h2>";
print "Hello world!<br>";
print "我要学习 PHP!";//只允许输出一个字符串
?>
登入後複製
<?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
/*使用print和echo都可以*/
print $txt1;
print "<br>";
print "在 $txt2 学习 PHP ";
print "<br>";
print "我车的品牌是 {$cars[0]}";
?>
登入後複製


4、字串的定義-PHP EOP

使用規則:

必須後接分號
##EOF可以用任意其他字符代替,只需保證結束標誌與開始標誌一致

結束標誌必須頂格獨佔一行,前後不能銜接任何空白和字符


開始標誌可不帶引號或帶單雙引號,不帶引號和雙引號用於解釋內嵌變數和轉義符號,帶單引號則不解釋




當內容內嵌引號時,無需轉義

<?php
$name="runoob";
$a= <<<EOF
    "abc"$name
    "123"
EOF;
// 结束需要独立一行且前后不能空格
echo $a;
?>
登入後複製

注意,以<<




5、資料型別

String, Integer, Float, Boolean, Array, Object, NULL



(1)String字串:放在單雙引號都可以

(2)Integer整數:可以是整數或負數;三種格式-十進制、十六進位(0x)、八進位(0)

<?php 
$x = 5985;
var_dump($x);//输出int(5985)
echo "<br>"; //换行
$x = -345; // 负数
var_dump($x);//int(-345)
echo "<br>"; 
$x = 0x8C; // 十六进制数
var_dump($x);//int(140)
echo "<br>";
$x = 047; // 八进制数
var_dump($x);//int(39)
?>
登入後複製


var_dump() 函數傳回變數的資料類型和值。

(3)Float浮點型:帶小數,或指數形式(e表示10的幾次方)

(4)Boolean布林型




(5)Array陣列

<?php 
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
?>
登入後複製
輸出:array(3) {  [0]=>  string(5) "Volvo"  [1]=>  string(3) "BMW"  [2]=>  string(6) "Toyota"}











##(6)Object物件:物件資料型別必須宣告

先用class關鍵字宣告類別物件(屬性、方法),在類別中定義資料類型,然後在實例化中使用資料類型

<?php
class Car
{
  var $color;
  function Car($color="green") {
    $this->color = $color;//this就是只想当前对象实例的指针,不指向任何其他对象或类
  }
  function what_color() {
    return $this->color;
  }
}
?>
登入後複製

(7)NULL空值:無值無類型


########### #6、常數######設定常數常用define() 函數,函數語法為:############
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
登入後複製
############## #######其中,name為常數名稱;value為常數的值;case_insensitive為可選,若為TRUE則大小寫不敏感,預設為敏感。 ######常數預設為全域變數。 ########################7、字串運算#######(1)並指運算子. ——將兩個字串值連接在一起###
<?php 
$txt1="Hello world!"; 
$txt2="What a nice day!"; 
echo $txt1 . " " . $txt2; 
?>
登入後複製
############(2)strlen() 函數:傳回字串長度(字元數)###

(3)strpos() 函数:用于在字符川内查找一个字符或一段指定文本,找到返回第一个匹配字符位置,未找到返回FALSE

<?php 
echo strpos("Hello world!","world"); 
?>
登入後複製


8、运算符

(1)

$x=10; $y=6; $a="hello";



$x/$y=1.6666666666667

var_dump(intp(10,3)); //输出int(3)



$a.=" world"; //$a="hello world"

==等于

===绝对等于,值和类型都相同

(2)数组运算

<?php
$x = array("a" => "red", "b" => "green"); 
$y = array("c" => "blue", "d" => "yellow"); 
$z = $x + $y; // $x 和 $y 数组合并
var_dump($z);
var_dump($x == $y);
var_dump($x === $y);
var_dump($x != $y);
var_dump($x <> $y);
var_dump($x !== $y);
?>
登入後複製


(3)三元運算子:( #(expr2) #:##(expr3)

#

當expr2=expr1時, 可省略為(#expr1#) ##? : (expr3)也可以表示(expr1#) ##?#(expr3)

(4)优先级


<p style="margin-bottom: 7px;"><?php<br/>// 优先级: &&  >  =  >  and<br/>// 优先级: ||  >  =  >  or<br/> <br/>$a = 3;<br/>$b = false;<br/>$c = $a or $b;<br/>var_dump($c);          // 这里的 $c 为 int 值3,而不是 boolean 值 true<br/>$d = $a || $b;<br/>var_dump($d);          //这里的 $d 就是 boolean 值 true <br/>?><br/></p>
登入後複製




以上是PHP學習筆記一的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板