PHP基礎二【變量/輸出/數據類型/常量/字符串/運算符】

PHP基礎二

  • 1. PHP變量
  • 2. PHP輸出
  • 3. 數據類型
    • 3.1 字符串
    • 3.2 整型
    • 3.3 浮點型
    • 3.4 布爾型
    • 3.5 數組
    • 3.6 對象
    • 3.7 NULL
    • 3.8 資源類型
    • 3.9 類型比較
  • 4. 常量
  • 5. 運算符

1. PHP變量


1. 我們來看一個實例:

<?php$x = 5;$y = 6;$z = $x + $y;echo $z;	// echo 是輸出,先照著敲
?>
  • 我們把5賦值給變量x,把6賦值給變量6,把x+y的值,賦值給變量z,最后輸出z的值。

  • 在PHP中,變量用$開頭創建,表示這個$后的東西是變量。

2. PHP變量規則:

  • 1)變量以 $ 符號開始,后面跟著變量的名稱。
  • 2)變量名必須以字母或者下劃線字符開始。
  • 3)變量名只能包含字母、數字以及下劃線(A-z、0-9 和 _ )。
  • 4)變量名不能包含空格。
  • 5)變量名是區分大小寫的(y 和 Y 是兩個不同的變量)。

3. 創建PHP變量:

  • PHP沒有聲明變量的命令,變量在第一次給它賦值時即被創建。就是不能單寫$x;而不給x賦值,要寫就寫$x = 7給它一個值(7只是隨便一個數)。

  • 將字符串內容賦值給變量時,請加上雙引號:

<?php$x = "hello world";
?>

4. PHP是一門弱類型語言:

  • 在上面的例子中,我們不難發現,在給變量賦值時,不需要指定變量的數據類型,編譯器會根據所給的值自行判斷。

  • 在強類型的編程語言中,我們必須在使用變量前先聲明(定義)變量的類型和名稱。例C語言:

int main()
{int x = 12; // 給變量x賦值時必須指定變量x的數據類型為intreturn 0;
}

5. PHP變量作用域:

  • 作用域是指變量在腳本中可被引用,使用的范圍。

  • PHP有4中不同的作用域:localglobalstaticparameter

1)局部和全局作用域:

  • 在所有函數外部定義的變量,擁有全局作用域。除了函數外,全局變量可以被腳本中的任何部分訪問(先創建,再訪問),要在一個函數中訪問一個全局變量,需要使用 global 關鍵字。

  • 在 PHP 函數內部聲明的變量是局部變量,僅能在函數內部訪問。

  • 測試代碼:

<?php$x=5; // 全局變量function myTest(){$y=10; // 局部變量global $x;	// 加關鍵字globalecho "<p>測試函數內變量:<p>";echo "變量 x 為: $x";	// 可以訪問,需要加關鍵字globalecho "<br>";echo "變量 y 為: $y";} myTest();echo "<p>測試函數外變量:<p>";echo "變量 x 為: $x";	// 可以訪問echo "<br>";echo "變量 y 為: $y";	// 無法訪問
?>
  • 顯示結果:
測試函數內變量:變量 x 為: 5
變量 y 為: 10測試函數外變量:變量 x 為: 5
變量 y 為:
  • 上面的代碼中,x在所有函數外部定義,是全局變量。在函數內部訪問x時,需要加關鍵字global聲明。y是局部變量,可以在myTest函數里使用,而不能在函數外使用。

  • 你可以在不同函數中使用相同的變量名稱,因為這些函數內定義的變量名是局部變量,只作用于該函數內。

  • global 關鍵字用于函數內訪問全局變量。在函數內調用函數外定義的全局變量,我們需要在函數中的變量前加上 global 關鍵字:

<?php$x=5;$y=10;function myTest(){global $x,$y;$y=$x+$y;} myTest();echo $y; // 輸出 15
?>
  • PHP 將所有全局變量存儲在一個名為 $GLOBALS[index] 的數組中。 index 保存變量的名稱。這個數組可以在函數內部訪問,也可以直接用來更新全局變量。

  • 上面的例子也可以這樣寫:

<?php$x=5;$y=10;echo $GLOBALS['y'];		// 輸出10echo "<br>";function myTest(){$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];}myTest();echo $y;	// 輸出15echo "<br>";$GLOBALS['y'] = 9; // 改變yecho $y;
?>
  • 顯示結果:
10
15
9

2)static作用域:

  • 局部變量在出函數時需要被銷毀,但是有時候我們不想讓這個變量銷毀,就需要使用static關鍵字,在第一次聲明時使用這個關鍵字:
<?phpfunction myTest(){static $x=0;    // static修飾echo $x;$x++;echo "<br>"; // 換行符}myTest();myTest();myTest();
?>
  • 顯示結果:
0 
1
2
  • x不斷++,沒有被銷毀。每一次使用x時,x仍然保持原來的值。

  • 注意:x仍然是局部變量,不能在作用域之外使用。

5. 參數作用域:

  • 跟C語言中的傳參差不多,但是不用寫明形參的數據類型:
<?phpfunction myTest($x){echo $x;}myTest(5);
?> 

2. PHP輸出


1. echo和print的區別:

  • echo可以輸出一個或多個字符串。
  • print只能輸出一個字符串。

注意:echo的輸出速度比print快,echo沒有返回值,而print的返回值總為1。

2. echo語句:

  • echo在使用時可以加上括號,也可以不加:
<?phpecho "1111";	// 加括號echo("18290");	// 不加括號
?>
  • echo可以輸出多個不同類型的參數:(并且輸出多個參數時不能使用括號)
<?phpecho("127".".0."."0.1"); // 中間用 . 隔開echo "<br>";echo "hello "."world";	// 中間用 . 隔開echo "<br>";$a = 1;$b = 2;// 也可以用,隔開echo $a," ",$b;	// 可以跑,有整型類型和字符串類型echo($a, $b);	// 報錯
?>
  • 顯示結果:
127.0.0.1
hello world
1 2
  • 輸出變量:
<head><meta charset="UTF-8">	// HTML標簽部分
</head>		
<?php// 創建變量$txt1="學習 PHP";$txt2="我的博客";$cars=array("Volvo","BMW","Toyota");    // 數組,后面介紹echo $txt1;echo "<br>";echo "在 $txt2 學習 PHP ";echo "<br>";echo "我車的品牌是 {$cars[0]}";
?>
  • 顯示結果:
學習 PHP
在 我的博客 學習 PHP
我車的品牌是 Volvo

3. print語句:

  • print在使用時和echo相似,加不加括號都可以:
<head><meta charset="UTF-8">
</head>
<?phpprint "<h2>PHP 很有趣!</h2>";	// 可以不加括號print "Hello world!<br>";print "我要學習 PHP!";//或者print("PHP是全世界最好的語言");	// 可以加括號
?>
  • print不能一次輸出多個參數:
<?php$a = "1";$b = "2";print $a,$b;         // 報錯
?>
  • print顯示變量:
<?php$txt1="hello world";$txt2="CSDN";$cars=array("zhangsan","lisi","wangwu");print $txt1;print "<br>";print "在 $txt2 學習 PHP ";print "<br>";print "人 {$cars[0]}";print "<br>";print "hello "."world";  // 這不叫多個類型參數,. 是字符串連接符
?>
  • 顯示結果:
hello world
在 CSDN 學習 PHP
人 zhangsan
hello world

3. EOF使用說明:

  • PHP EOF(heredoc)是一種在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序語言(像Perl、PHP、Python和Ruby)里定義一個字符串的方法。
    • 必須最后接分號,否則編譯通不過。
    • EOF可以用任意其它字符代替,只需保證結束標識與開始標識一致。
    • 結束標識必須頂格獨自占一行(即必須從行首開始,前后不能銜接任何空白和字符)。
    • 開始標識可以不帶引號或帶單雙引號,不帶引號與帶雙引號效果一致,解釋內嵌的變量和轉義符號;帶單引號則不解釋內嵌的變量和轉義符號。
    • 當內容需要內嵌引號(單引號或雙引號)時,不需要加轉義符,本身對單雙引號轉義。
<head><meta charset="UTF-8">
</head>
<?php$a = 1;echo <<<EOF"$a""hello"<br>我的第一個標題<br>我的第一個段落EOF; 
// 結束需要獨立一行且前后不能空格
?>
  • 顯示結果:
"1""hello"
我的第一個標題
我的第一個段落
  • 注意:
    • <<<EOF 開始標記開始,以 EOF 結束標記結束,結束標記必須頂頭寫,不能有縮進和空格,且在結束標記末尾要有分號。
    • 開始標記和結束標記相同,比如常用大寫的 EOT、EOD、EOF 來表示,但是不只限于那幾個,只要保證開始標記和結束標記不在正文中出現即可。
    • 位于開始標記和結束標記之間的變量可以被正常解析,但是函數則不可以。在 heredoc 中,變量不需要用連接符.,來拼接。

4. 其他輸出函數

  • print_r:打印關于變量的易于理解的信息,如果給出的是 string、integerfloat,將打印變量值本身。如果給出的是 array,將會按照一定格式顯示鍵和元素。
  • var_dump:此函數顯示關于一個或多個表達式的結構信息,包括表達式的類型與值。數組將遞歸展開值,通過縮進顯示其結構。
  • var_dumpprint_r 的區別:var_dump 返回表達式的類型與值,而 print_r 僅返回結果,相比調試代碼使用 var_dump 更便于閱讀。
<head><meta charset="UTF-8">
</head>
<?php$n = 10;$a=array("Volvo", $n,"Toyota");echo $a;echo "</br>";print $a;echo "</br>";print_r($a);    // 必須帶()echo "</br>";var_dump($a);   // 必須帶()
?>
  • 顯示結果
Array
Array
Array ( [0] => Volvo [1] => 10 [2] => Toyota )
array(3) { [0]=> string(5) "Volvo" [1]=> int(10) [2]=> string(6) "Toyota" }

3. 數據類型


PHP 支持以下幾種數據類型:

  • String(字符串)
  • Integer(整型)
  • Float(浮點型)
  • Boolean(布爾型)
  • Array(數組)
  • Object(對象)
  • NULL(空值)(“”、0、NULL)
  • Resource(資源類型)(圖片、文件)

3.1 字符串


1. 定義字符串

  • 可以將任何文本放在單引號和雙引號中,表示一個字符串
<?php $x = "Hello world!";var_dump($x);echo "<br>"; $x = 'Hello world!';var_dump($x);
?> 
  • 顯示結果:
string(12) "Hello world!"
string(12) "Hello world!"

2. 字符串并置運算符 .

  • 并置運算符.用于把兩個字符串值連接起來:
<?php$txt1="Hello world!";$txt2="What a nice day!";echo $txt1." ".$txt2;
?>
  • 顯示結果:
Hello world! What a nice day!

3.2 整型


1. 整型規則

  • 整型必須至少有一個數字(0~9);
  • 整型不能包含逗號或空格;
  • 整型是沒有小數點的;
  • 整型可以是正數或負數;
  • 整型可以用三種格式來指定:十進制, 十六進制(以 0x 為前綴)或八進制(前綴為 0)。

2. 代碼示例

<?php$x = 5985;var_dump($x);echo "<br>";$x = -345; // 負數 var_dump($x);echo "<br>";$x = 0x8C; // 十六進制數var_dump($x);echo "<br>";$x = 047; // 八進制數var_dump($x);
?>
  • 顯示結果:
int(5985)
int(-345)
int(140)
int(39)

3.3 浮點型


浮點數是帶小數部分的數字,或是指數形式

<?php $x = 10.365;var_dump($x);echo "<br>"; $x = 2.4e3;     // 2.4 * 10^3var_dump($x);echo "<br>"; $x = 8E-5;      // 8 * 10^-5var_dump($x);
?>

顯示結果:

float(10.365)
float(2400)
float(8.0E-5)

3.4 布爾型


布爾型可以是truefalse,通常用于條件判斷。

<?php$x=true;$y=false;var_dump($x,$y);
?>

顯示結果:

bool(true) bool(false)

3.5 數組


數組可以在一個變量中存儲多個值。和其他語言一樣,可以通過下標訪問。

1. 索引數組

<?php// 創建索引數組$fruits = array("Apple", "Banana", "Orange");// 或簡寫形式(PHP 5.4+)$fruits = ["Apple", "Banana", "Orange"];// 訪問元素echo $fruits[0]."</br>"; // 輸出: Apple// 添加元素$fruits[] = "Mango"; // 自動添加到最后$fruits[3] = "Grape"; // 指定索引// 遍歷數組foreach ($fruits as $fruit) {echo $fruit . "</br>";}
?>
  • 顯示結果:
string(5) "Apple"
string(5) "Apple"
string(6) "Banana"
bool(true)
string(5) "Grape"

2. 關聯數組

<?php// 創建關聯數組$person = array("name" => "John","age" => 30,"city" => "New York");// 或簡寫形式$person = ["name" => "John","age" => 30,"city" => "New York"];// 訪問元素var_dump($person["name"]); // 輸出: Johnecho "</br>";// 添加/修改元素$person["email"] = "john@example.com";// 遍歷數組foreach ($person as $key => $value) {echo "$key: $value"."</br>";}
?>
  • 顯示結果:
string(4) "John"
name: John
age: 30
city: New York
email: john@example.com

這里數組的遍歷方式后面會講到。


3.6 對象


首先,你必須使用class關鍵字聲明類對象。我們在類中定義屬性和方法,在實例化的類中使用屬性和方法:

<?phpclass Car{public $name;// 構造函數public function __construct(){$this->name = "寶馬";}public function what_color($color){return $color;}public function what_name(){return $this->name;}// 析構函數public function __destruct(){}}$color = new Car();echo $color->what_color("red");echo "</br>";echo $color->what_name();
?>
  • 顯示結果:
red
寶馬

這里不做過多解釋了,畢竟是PHP的基礎課。如果有其他語言基礎的同學,很容易理解構造函數和析構函數是什么,以及他們在干什么。


3.7 NULL


NULL 值指明一個變量是否為空值。可以通過設置變量值為 NULL 來清空變量數據:

<?php$x="Hello world!";$x=null;var_dump($x);
?>

顯示結果:

NULL

3.8 資源類型


一個打開文件資源的例子

  • example.txt是我們提前準備好的文件,放在和該php文件的同級目錄下:
<?php// 打開文件(創建文件資源)$file = fopen("example.txt", "r");	if ($file === false) {die("無法打開文件!");}// 檢查變量類型echo gettype($file)."</br>";  // 輸出: resource// 讀取文件內容while (!feof($file)) {echo fgets($file); // 逐行讀取}// 必須手動關閉資源fclose($file);
?>
  • 顯示結果:
resource
hello I am here!
  • 讀出了文件中的內容,為hello I am here!

3.9 類型比較


1. 雖然 PHP 是弱類型語言,但也需要明白變量類型及它們的意義,因為我們經常需要對 PHP 變量進行比較,包含松散和嚴格比較。

  • 松散比較:使用兩個等號 == 比較,只比較值,不比較類型;
  • 嚴格比較:用三個等號 === 比較,除了比較值,也比較類型。

2. 例如,“42” 是一個字符串而 42 是一個整數。FALSE 是一個布爾值而 “FALSE” 是一個字符串。

<?phpheader("content-type:text/html;charset=utf-8"); //保持中文不亂碼if(42 == "42") {echo '1、值相等'."</br>";}if(42 === "42") {echo '2、類型相等'."</br>";} else {echo '3、類型不相等'."</br>";}
?>
  • 顯示結果:
1、值相等
3、類型不相等

3. 比較 0、false、null

<?phpecho '0 == false: ';var_dump(0 == false);echo '0 === false: ';var_dump(0 === false);echo "</br>";echo '0 == null: ';var_dump(0 == null);echo '0 === null: ';var_dump(0 === null);echo "</br>";echo 'false == null: ';var_dump(false == null);echo 'false === null: ';var_dump(false === null);echo "</br>";echo '"0" == false: ';var_dump("0" == false);echo '"0" === false: ';var_dump("0" === false);echo "</br>";echo '"0" == null: ';var_dump("0" == null);echo '"0" === null: ';var_dump("0" === null);echo "</br>";echo '"" == false: ';var_dump("" == false);echo '"" === false: ';var_dump("" === false);echo "</br>";echo '"" == null: ';var_dump("" == null);echo '"" === null: ';var_dump("" === null);
?>
  • 顯示結果:
0 == false: bool(true) 0 === false: bool(false)
0 == null: bool(true) 0 === null: bool(false)
false == null: bool(true) false === null: bool(false)
"0" == false: bool(true) "0" === false: bool(false)
"0" == null: bool(false) "0" === null: bool(false)
"" == false: bool(true) "" === false: bool(false)
"" == null: bool(true) "" === null: bool(false)

4. 常量


一個常量由英文字母、下劃線、和數字組成,但數字不能作為首字母出現。 (常量名不需要加 $ 修飾符)。注意: 常量在整個腳本中都可以使用。

1. 設置常量

  • 設置常量,使用 define() 函數,函數語法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
  • 該函數有三個參數:
    • name:必選參數,常量名稱,即標志符。
    • value:必選參數,常量的值。
    • case_insensitive:可選參數,如果設置為 true,該常量大小寫不敏感。默認是大小寫敏感的。

十分不建議定義不區分大小寫的常量,該用法已在PHP8.0+中完全移除。

2. 代碼實例

<?phpheader("content-type:text/html;charset=utf-8"); //保持中文不亂碼// 區分大小寫的常量名define("GREETING", "歡迎訪問 baidu.com");echo GREETING;    // 輸出 "歡迎訪問 百度.com"echo '<br>';// echo greeting;   // 報錯
?>
  • 顯示結果:
歡迎訪問 baidu.com

3. 常量是全局的,可以在腳本任何地方使用


5. 運算符


1. 算數運算符

<?php $x=10; $y=6;echo ($x + $y); // 輸出16echo '<br>';  // 換行echo ($x - $y); // 輸出4echo '<br>';  // 換行echo ($x * $y); // 輸出60echo '<br>';  // 換行echo ($x / $y); // 輸出1.6666666666667echo '<br>';  // 換行echo ($x % $y); // 輸出4echo '<br>';  // 換行echo -$x;		// -10
?>

2. 賦值運算符

<?php $x=10; echo $x."</br>"; // 輸出10$y=20; $y += 100;echo $y."</br>"; // 輸出120$z=50;$z -= 25;echo $z."</br>"; // 輸出25$i=5;$i *= 6;echo $i."</br>"; // 輸出30$j=10;$j /= 5;echo $j."</br>"; // 輸出2$k=15;$k %= 4;echo $k."</br>"; // 輸出3
?>
  • 支持字符串的.=
<?php$a = "Hello";$b = $a . " world!";echo $b; // 輸出Hello world! $x="Hello";$x .= " world!";echo $x; // 輸出Hello world! 
?>

3. 遞增/遞減運算符

<?php$x=10; echo ++$x; // 輸出11$y=10; echo $y++; // 輸出10$z=5;echo --$z; // 輸出4$i=5;echo $i--; // 輸出5
?>

4. 比較運算符

<?php$x=100; $y="100";var_dump($x == $y);echo "<br>";var_dump($x === $y);echo "<br>";var_dump($x != $y);echo "<br>";var_dump($x !== $y);echo "<br>";$a=50;$b=90;var_dump($a > $b);echo "<br>";var_dump($a < $b);
?>
  • 顯示結果:
bool(true)
bool(false)
bool(false)
bool(true)
bool(false)
bool(true)

5. 數組運算符

<?php$x = array("a" => "red", "b" => "green"); $y = array("c" => "blue", "d" => "yellow"); $d = array("b" => "green","a" => "red" ); $z = $x + $y; // $x 和 $y 數組合并var_dump($z);	// array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" }echo "</br>";var_dump($x == $y);     // falseecho "</br>";var_dump($x === $y);    // falseecho "</br>";var_dump($x != $y);     // trueecho "</br>";var_dump($x <> $y);     // 這個也是不等于 trueecho "</br>";var_dump($x !== $y);    // trueecho "</br>";var_dump($x == $d);     // trueecho "</br>";var_dump($x === $d);    // 識別順序 falseecho "</br>";
?>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/75525.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/75525.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/75525.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ue5 仿鬼泣5魂類游戲角色和敵人沒有碰撞

UE5系列文章目錄 文章目錄 UE5系列文章目錄前言一、問題原因二、設置碰撞2.讀入數據 總結 前言 ue5 仿鬼泣5魂類游戲角色和敵人沒有碰撞 一、問題原因 在UE5中&#xff0c;角色和敵人沒有碰撞可能是由多種原因導致的&#xff0c;以下是一些可能的原因及解決方法&#xff1a…

《AdaBoost:從弱分類器到強模型的進化之路》

目錄 1. AdaBoost 的核心思想 2. AdaBoost 的關鍵步驟 步驟 1&#xff1a;初始化樣本權重 步驟 2&#xff1a;迭代訓練弱分類器 步驟 3&#xff1a;組合弱分類器 3. 用例子詳解 AdaBoost 數據集&#xff1a; 迭代過程&#xff1a; 第1輪&#xff08;t1&#xff09;&am…

Android Settings 有線網設置界面優化

Android Settings 有線網設置界面優化 文章目錄 Android Settings 有線網設置界面優化一、前言二、簡單修改1、修改的EthernetSettings代碼&#xff1a;2、有線網ip獲取代碼&#xff1a;3、AndroidManifest.xml定義有線網的Activity4、修改后界面&#xff1a; 三、其他1、有線網…

基于web的生產過程執行管理系統(源碼+lw+部署文檔+講解),源碼可白嫖!

摘要 隨著世界經濟信息化、全球化的到來和電子商務的飛速發展&#xff0c;推動了很多行業的改革。若想達到安全&#xff0c;快捷的目的&#xff0c;就需要擁有信息化的組織和管理模式&#xff0c;建立一套合理、暢通、高效的線上管理系統。當前的生產過程執行管理存在管理效率…

XSS 攻擊風險與防御實踐

? 框架與 XSS 防護概況 框架是否默認轉義高危場景建議防御措施React? 是使用 dangerouslySetInnerHTML避免使用&#xff0c;必要時做內容清洗Vue.js? 是使用 v-html避免使用&#xff0c;或使用 DOMPurify 清洗Angular? 是使用 innerHTML、bypassSecurityTrustHtml謹慎繞過…

Cesium 時間線 及 坐標轉換

文章目錄 Cesium 基礎理解&#xff08;二&#xff09;TimeLine & Clock 應用場景核心代碼實例及解釋代碼解釋 Cesium 之 實體動畫構建實體動畫的技巧1. 利用時間屬性2. 組合動畫效果3. 使用動畫曲線 優化點1. 減少屬性更新頻率2. 優化實體數量3. 合理使用材質和紋理 注意事…

ngx_regex_init

定義在 src\core\ngx_regex.c void ngx_regex_init(void) { #if !(NGX_PCRE2)pcre_malloc ngx_regex_malloc;pcre_free ngx_regex_free; #endif } NGX_PCRE21 #if !(NGX_PCRE2) 就為假 條件不成立 ngx_regex_init 函數就成了空實現 NGX_PCRE2 被定義&#xff0c;則表示 Ngin…

第二期:深入理解 Spring Web MVC [特殊字符](核心注解 + 進階開發)

前言&#xff1a; 歡迎來到 Spring Web MVC 深入學習 的第二期&#xff01;在第一期中&#xff0c;我們介紹了 Spring Web MVC 的基礎知識&#xff0c;學習了如何 搭建開發環境、配置 Spring MVC、編寫第一個應用&#xff0c;并初步了解了 控制器、視圖解析、請求處理流程 等核…

一文讀懂數據倉庫:從概念到技術落地

數據倉庫是一個面向主題的、集成的、相對穩定的、反映歷史變化的數據集合&#xff0c;用于支持管理決策。以下是關于數據倉庫的詳細介紹&#xff1a; 一、特點 面向主題&#xff1a;數據倉庫圍繞特定主題組織數據&#xff0c;如客戶、產品、銷售等&#xff0c;而不是像傳統數…

JavaScript學習18-css操作和事件處理程序(html/DOM0/DOM2)

一、css操作 第一種&#xff1a;容易出錯 第二種&#xff1a;有效避免錯誤 第三種&#xff1a; 二、事件處理程序 1.HTML事件 2.DOM0級事件處理 3.DOM2級事件處理

npm設置代理和取消代理

設置代理 具體代理端口要根據自己的來 npm config set proxy http://127.0.0.1:7890 npm config set https-proxy http://127.0.0.1:7890取消代理 npm config delete proxy npm config delete https-proxy查看代理 npm config get proxy # 應返回 null npm config get…

從零開始訓練Codebook:基于ViT的圖像重建實踐

完整代碼在文末&#xff0c;可以一鍵運行。 1. 核心原理 Codebook是一種離散表征學習方法&#xff0c;其核心思想是將連續特征空間映射到離散的碼本空間。我們的實現方案包含三個關鍵組件&#xff1a; 1.1 ViT編碼器 class ViTEncoder(nn.Module):def __init__(self, codebo…

大數據筆試題_第一階段配套筆試題02

已知一個字符類型的日期&#xff1a;2022-01-20&#xff0c;請用SQL顯示出此日期對應的下個月的月份&#xff0c;結果要求為Number類型&#xff08;202201&#xff09;。 參考答案 sql SELECT to_date(2022-01-20, yyyy-mm-dd) a1,add_months(to_date(2022-01-20, yyyy-mm-d…

C++實現對象單例模式

在 C 中實現單例模式有多種方法&#xff0c;以下是線程安全的現代 C 實現方式&#xff08;推薦 C11 及以上版本&#xff09;&#xff1a; 1. Meyers’ Singleton&#xff08;推薦&#xff09; class Singleton { public:// 刪除拷貝構造和賦值運算符Singleton(const Singleto…

企業常用Linux服務搭建

1.需要兩臺centos 7服務器&#xff0c;一臺部署DNS服務器&#xff0c;另一臺部署ftp和Samba服務器。 2. 部署DNS 服務器? #!/bin/bash# 更新系統 echo "更新系統..." sudo yum update -y# 安裝 BIND 和相關工具 echo "安裝 BIND 和相關工具..." sudo y…

UE5Actor模塊源碼深度剖析:從核心架構到實踐應用

UE5 Actor模塊源碼深度剖析:從核心架構到實踐應用 a. UE5 Actor模塊架構概述 在UE5引擎中,Actor扮演著至關重要的角色,它是整個游戲世界中各類可交互對象的基礎抽象。從本質上來說,所有能夠被放置到關卡中的對象都屬于Actor的范疇,像攝像機、靜態網格體以及玩家起始位置…

DreamDiffusion代碼學習及復現

論文解讀在這里 File path | Description /pretrains ┣ &#x1f4c2; models ┃ ┗ &#x1f4dc; config.yaml ┃ ┗ &#x1f4dc; v1-5-pruned.ckpt┣ &#x1f4c2; generation ┃ ┗ &#x1f4dc; checkpoint_best.pth ┣ &#x1f4c2; eeg_pretain ┃ ┗ …

用Python實現TCP代理

依舊是Python黑帽子這本書 先附上代碼&#xff0c;我在原書代碼上加了注釋&#xff0c;更好理解 import sys import socket import threading#生成可打印字符映射 HEX_FILTER.join([(len(repr(chr(i)))3) and chr(i) or . for i in range(256)])#接收bytes或string類型的輸入…

Pyinstaller 打包flask_socketio為exe程序后出現:ValueError: Invalid async_mode specified

Pyinstaller 打包flask_socketio為exe程序后出現&#xff1a;ValueError: Invalid async_mode specified 一、詳細描述問題描述 Traceback (most recent call last): File "app_3.py", line 22, in <module> File "flask_socketio\__init__.py"…

django REST framework(DRF)教程

Django DRF API Django 基本使用Django DRF序列化器Django DRF視圖Django DRF常用功能Django 基本使用 前后端分離開發模式認識RestFulAPI回顧Django開發模式Django REST Framework初探前后端分離開發模式 前后端分離前:前端頁面看到的效果都是由后端控制,即后端渲染HTML頁面…