PHP基礎補充

2021-10-01 02:30:48 字數 2534 閱讀 3391

1.1 區域性變數

function f1()

f1();

echo $a;無法在函式外部獲取函式內部的值,所以這個$a是未定義

1.2全域性變數

全域性變數在函式內部預設無法訪問

$a=10;

function f1()

f1();

如果想要在函式內部獲取到函式外部的值,可以給$a設定global全域性變數

$b=10;

function f1()

f1();

還可以使用引用傳參的方式在函式內部使用全域性變數

$c=10;

//值傳遞

function f1($arg)

f1($c);

echo $c;

如果在函式的形參$arg前面的&去除,就是引用傳遞

$d=10;

function f1(&$arg)

f1($d);

echo $d;

1.3 靜態變數

在函式內部定義,作用於函式內部,使用static關鍵字定義

首先看下面**的輸出結果

function f1()

f1();//2

f1();//2

f1();//2

同學們都想的是234;但是當函式執行結束後,就會被從記憶體中清楚,等到下一次再次呼叫函式時,又從新宣告了。

想要解決這個問題,可以在變數前面加上static

function f1()

f1(); //2

f1(); //3

f1(); //4

也叫預定義變數,是php預先定義好的一些變數

所有超全域性變數有乙個特點,都是以$_開頭,且變數名成為大寫。

超全域性變數有很多,比如:

$globals — 引用全域性作用域中可用的全部變數

$_server 是乙個包含了諸如頭資訊(header)、路徑(path)、以及指令碼位置(script locations)等等資訊的陣列,這個陣列中的專案是由web伺服器建立的。

$_get通過 url 引數傳遞給當前指令碼的變數的陣列。

$_post和get方式一樣,但是get傳參是不是很安全,而且傳送的資料比較少

$_files檔案上傳

$_cookie 將資料儲存在客戶端

$_session與cookie相反,session是儲存在服務端的

r eq

uest

預設情況

下包含了

_request預設情況下包含了

r​eque

st預設

情況下包

含了_get,pos

t和

_post和

p​ost和

_cookie的陣列

$_env通過環境方式傳遞給當前指令碼的變數的陣列。

將檔案由客戶端傳輸到伺服器

上傳分為兩種:

3.1.1 表單上傳

就是靠form和input,

3.1.2 ajax上傳

使用jqueryfileupload外掛程式

html頁面

<

!doctype html>

"en"

>

"utf-8"

>

"viewport" content=

"width=device-width, initial-scale=1.0"

>

"x-ua-compatible" content=

"ie=edge"

>

document

"" rel=

"stylesheet"

>

.upload

$('#fileupload'

).fileupload(

, //上傳完成之後的操作,顯示在img裡面

done: function

(e, data)})

;

php頁面

<?php 

$file

=$_files

['file'];

// 獲取副檔名

$res

=pathinfo

($file

['name'])

;$exname

=$res

['extension'];

// 生成唯一的名字

$filename

=time()

.'.'

.$exname

;move_uploaded_file

($file

['tmp_name'],

'./upload/'

.$filename);

// 返回上傳成功後名稱

echo

json_encode([

'url'

=>

'upload/'

.$filename])

;

php基礎鞏固補充 變數篇

1.變數是用於儲存資訊的 容器 2.php 變數規則 以 符號開始,後面跟著變數的名稱 必須以字母或者下劃線字元開始 只能包含字母數字字元以及下劃線 a z 0 9 和 不能包含空格 區分大小寫的 y 和 y 是兩個不同的變數 3.php 語句和 php 變數都是區分大小寫的。4.當您賦乙個文字值給...

PHP之類補充

最終類與最終方法 如果父類中的方法被宣告為 final,則子類無法覆蓋該方法。如果乙個類被宣告為 final,則不能被繼承。final class a class a 抽象類與抽象方法 abstract class a class aextends a 介面 介面可以看作是抽象類的更高層面的抽象,可...

python基礎補充

import random print random.choice range 10 和from random import choice print choice range 10 第一種方法 將模組的名字設定為乙個隱含在名字空間裡的全域性變數,這樣就好像訪問全域性屬性那樣訪問choice函式 第...