国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PHP數(shù)組

這篇具有很好參考價(jià)值的文章主要介紹了PHP數(shù)組。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

數(shù)組是一個(gè)能在單個(gè)變量中存儲(chǔ)多個(gè)值的特殊變量。

數(shù)組的英文是array,可以存入多個(gè)不同類型的數(shù)據(jù),是一個(gè)復(fù)合數(shù)據(jù)類型。

在 PHP 中,有三種類型的數(shù)組:

  • 索引數(shù)組 - 帶有數(shù)字 ID 鍵的數(shù)組
  • 關(guān)聯(lián)數(shù)組 - 帶有指定的鍵的數(shù)組,每個(gè)鍵關(guān)聯(lián)一個(gè)值
  • 多維數(shù)組 - 包含一個(gè)或多個(gè)數(shù)組的數(shù)組

數(shù)組特點(diǎn):

  • 鍵值對(duì)(key-value);
  • 鍵,key,存儲(chǔ)數(shù)組中,變量的“編號(hào)”。
  • 值,value,存儲(chǔ)數(shù)組中,變量的值。
  • 數(shù)組中的元素可以是任意類型的數(shù)據(jù)對(duì)象。
  • 索引數(shù)組,變量的“編號(hào)”是整數(shù),整數(shù)不具備一定的語義。
  • 關(guān)聯(lián)數(shù)組,變量的"編號(hào)"用字符串表示,可以具備一定的語義。

輸出數(shù)組的時(shí)候不能使echo 語句,可以使用print_r() 函數(shù)來代替。


array 函數(shù)

在 PHP 中,array() 函數(shù)用于創(chuàng)建數(shù)組:

語法:

變量 = array(變量1,變量2,...);

變量 = array(
    'key1' => value1,
    'key2' => value2,
  ...
)
  • => 特殊的字符,在array 語言結(jié)構(gòu) 中連接keyvalue 。
  • PHP 中數(shù)組的key 如果是字符串就具備一定的語義,可以非常方便的了解變量的含義。
  • PHP 數(shù)組中的key ,不建議使用除了整型和字符串的其他類型。
  • array() 不是函數(shù),而是一種語言結(jié)構(gòu)。

索引數(shù)組

直接創(chuàng)建

$animal[]='dog';
$animal[]='wolf';
$animal[]='cat';
var_dump($animal);

PHP數(shù)組,# 后端代碼審計(jì),php,開發(fā)語言,代碼審計(jì)

array創(chuàng)建

$stu=array("hxy",'woman',18,100);
print_r($stu);

PHP數(shù)組,# 后端代碼審計(jì),php,開發(fā)語言,代碼審計(jì)

關(guān)聯(lián)數(shù)組

直接創(chuàng)建

把學(xué)生信息存儲(chǔ)在一個(gè)變量里,需要用數(shù)組來實(shí)現(xiàn)。

$stu1['name'] = 'zs';
$stu1['sex'] = 'man';
$stu1['age'] = 18;
$stu1['score'] = 88;

echo "<pre>";
print_r($stu1);

PHP數(shù)組,# 后端代碼審計(jì),php,開發(fā)語言,代碼審計(jì)

arry創(chuàng)建

$stu4 = array(
    'name'  => 'LSP',
    'sex'   => 'woman',
    'age'   => 19,
    'score' => 90.9
);

print_r($stu4);

print_r echo 類似,在輸出布爾類型變量True 時(shí),打印的是1;在輸出False 時(shí),打印什么都沒有。

多維數(shù)組

數(shù)組中的元素可以是任何類型的數(shù)據(jù)。數(shù)組中的元素也可以是數(shù)組。

<?php
$name   = "zs";
$sex    = 'man';
$age    = 18;
$score  = 100;
$people['name']=$name;
$people['sex']=$sex;
$people['age']=$age;
$people['score']=$score;


$people1['name']='zs';
$people1['sex']='man';
$people1['age']=18;
$people1['score']=100;

$stu1['name'] = 'zs';
$stu1['sex'] = 'man';
$stu1['age'] = 18;
$stu1['score'] = 88;


$stu=array("hxy",'woman',18,100);

echo "<br />";
$ns_class=array($people,$people1,$stu,$stu1);
echo "<pre>";
print_r($ns_class);
?>

PHP數(shù)組,# 后端代碼審計(jì),php,開發(fā)語言,代碼審計(jì)

元素訪問

通過key 找到數(shù)組中的元素。

echo "hxy's score is {$stu[3]}";

echo "li's age is {$stu1['age']}";

echo "zs's age is {$ns_class[0]['age']}";

元素操作

對(duì)元素的操作包括:

數(shù)組元素操作 說明
讀取 通過key,捕獲數(shù)組中的value。
修改 直接賦值即可。
增加 直接賦值即可。
刪除 PHP 中刪除數(shù)組中的元素意義不大,置之不理即可。

嘗試修改數(shù)組中的元素:

echo "hxy's score is {$ns_class[2][3]}<br />";

$ns_class[2][3] += 10;
echo "hxy's score is  {$ns_class[2][3]}";
$stu1['word'] = "為往圣繼絕學(xué),為萬世開太平。";
var_dump($stu1);

數(shù)組遍歷

for 循環(huán)

使用for 循環(huán)可以遍歷數(shù)組,但是此種方法依賴于數(shù)組中key 自然數(shù)規(guī)律。

for ($i = 0; $i < count($stu1); $i++) { 
    echo $stu1[$i]."<br />";
}

顯然,此種方法具有局限性,只能遍歷索引數(shù)組。

foreach 語句

foreach 語法結(jié)構(gòu)提供了遍歷數(shù)組的簡(jiǎn)單方式。

foreach 這種語言結(jié)構(gòu)是專門用來遍歷數(shù)組的,foreach 是一種循環(huán),不需要額外計(jì)時(shí)器。

foreach ($variable as $key => $value) {
    # code...
}

直接訪問數(shù)組的值:

foreach ($stu as $v) {
    echo $v."<br />";
}

訪問鍵值對(duì):

foreach ($stu1 as $k => $v) {
    echo $k. "=". $v. "<br />";
}

注意:

  • foreach 是用來遍歷數(shù)組的循環(huán)語言結(jié)構(gòu),數(shù)組中多少個(gè)元素,該語言結(jié)構(gòu)就會(huì)循環(huán)執(zhí)行幾次。
  • foreach 語言結(jié)構(gòu)中,臨時(shí)變量的名字可以變化,但是語言結(jié)構(gòu)不能改變。

數(shù)組相關(guān)函數(shù)

函數(shù) 作用
count() count($value, $mode): int
array_count_values() array_count_values(array $array): array
in_array() 檢查數(shù)組中是否存在某一個(gè)元素。 此函數(shù)可以應(yīng)用于黑白名單策略。
array_key_exists()
array_search()

預(yù)定義超全局?jǐn)?shù)組變量

PHP中預(yù)定義了幾個(gè)超級(jí)全局變量(superglobals) ,這意味著它們?cè)谝粋€(gè)腳本的全部作用域中都可用

名稱 作用
$_GET 通過URL 參數(shù)(又叫query string)傳遞給當(dāng)前腳本的變量的數(shù)組。 注意:該數(shù)組不僅僅對(duì)method 為 GET 的請(qǐng)求生效,而是會(huì)針對(duì)所有帶query string 的請(qǐng)求。
$_POST 當(dāng)HTTP POST 請(qǐng)求的==Content-Type 是application/x-www-form-urlencoded 或multipart/form-data== 時(shí),會(huì)將變量以關(guān)聯(lián)數(shù)組形式傳入當(dāng)前腳本。
$GLOBALS 關(guān)聯(lián)數(shù)組array,包含當(dāng)前腳本內(nèi)定義成全局范圍的所有變量的引用。數(shù)組的鍵就是變量的名字。
$_SERVER 服務(wù)器和執(zhí)行環(huán)境信息。
$_FILES 通過HTTP POST 方式上傳到當(dāng)前腳本的項(xiàng)目的數(shù)組。此數(shù)組的概況在POST 方法上傳 章節(jié)中有描述。
$_COOKIE 通過HTTP Cookies 方式傳遞給當(dāng)前腳本的變量的數(shù)組。
$_SESSION 當(dāng)前腳本可用 SESSION 變量的數(shù)組。更多關(guān)于如何使用的信息,參見Session 函數(shù) 文檔。
$_REQUEST 默認(rèn)情況下包含了$_GET,$_POST 和$_COOKIE 的數(shù)組。
$_ENV 通過環(huán)境方式傳遞給當(dāng)前腳本的變量的數(shù)組。

注意:

  • 以上數(shù)組都是預(yù)定義,超全局的。
  • 以上數(shù)組在不同的PHP 版本中有不同的表現(xiàn),但是大方向沒變。
$_GET
  • 接收從瀏覽器客戶端用戶GET 方式傳遞到服務(wù)器的參數(shù)。
  • GET 傳參的參數(shù)名做$_GET 數(shù)組的key,參數(shù)值作為數(shù)組的value。
  • GET 傳參時(shí),直接將參數(shù)拼接到URL 中即可。

前端代碼:

<!DOCTYPE html>
<html lang="en">

<head>
    <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css"
        integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div class="container" style="margin-top: 20%;">
        <div class="row">
            <div class="col-md-8 col-md-offset-3">
                <form class="form-inline" action="8.php" method="get">
                    <div class="form-group">
                        <label for="ip">IP:</label>
                        <input type="text" class="form-control" id="ip" placeholder="127.0.0.1" name="ipaddr">
                    </div>
                    <div class="form-group">
                        <label for="Port">Port:</label>
                        <input type="text" class="form-control" id="Port" placeholder="0-65535" name="port">
                    </div>
                    <button type="submit" class="btn btn-default">快速連接</button>
                </form>
            </div>
        </div>
    </div>

</body>

</html>

PHP數(shù)組,# 后端代碼審計(jì),php,開發(fā)語言,代碼審計(jì)

后端代碼:

<!-- 使用switch語句編寫一個(gè)程序,前端get傳參,后端根據(jù)傳參的端口號(hào)判斷具體的服務(wù)類型 -->

<?php
$ipaddr = @$_GET['ipaddr'];
$port =  @$_GET['port'];
echo "接收到的IP地址為" . $ipaddr;
echo "<br />";
echo "<br />";
switch ($port) {
    case 80:
        echo "HTTP協(xié)議請(qǐng)求,80端口開放";
        break;
    case 443:
        echo "HTTPS協(xié)議請(qǐng)求,443端口開放";
        break;
    case 20:
        echo "FTP協(xié)議,數(shù)據(jù)端口開放  20";
        break;
    case 21:
        echo "FTP協(xié)議,控制端口開放 21";
    case 22: 
        echo "SSH協(xié)議端口開放 22";
        break;
    case 3306:
        echo "MySQL數(shù)據(jù)庫端口開放  3306";
        break;
    case 27017:
        echo "MongoDB數(shù)據(jù)庫端口開放 27017";
        break;
    case 6379:
        echo "Redis數(shù)據(jù)庫端口開放  6379";
        break;
    case 3389:
        echo "Windows遠(yuǎn)程桌面服務(wù)端口開放  3389";
        break;
    default:
        echo "輸入的端口號(hào)不在范圍內(nèi)。。。。";
}

PHP數(shù)組,# 后端代碼審計(jì),php,開發(fā)語言,代碼審計(jì)

$_POST
  • $_POST 用于接收瀏覽器客戶端用戶以POST 方式傳遞過來的參數(shù)。
  • POST 傳參,參數(shù)在請(qǐng)求正文中。

前端代碼示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css"
    integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>post request</title>
</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-8 col-md-offset-2" style="margin-top: 10%;">
                <h3 class="text-center">form表單</h3>
                <form action="1.php" method="post">
                    username:<input type="text" name="username" class="form-control" >
                    password:<input type="password" name="password" class="form-control">
                    <br>
                    <p>
                        <input type="submit" name="button" value="提交" class="btn btn-danger">
                    </p>
                </form>
            </div>
        </div>
    </div>
   
</body>
</html>

后端代碼:

//1.php
<?php
$username = @$_POST['username'];
$password = @$_POST['password'];
echo $username;
echo $password;
if(!$username){
	echo 'Please input a username!!';
}
if(!$password){
	echo ' input a password  is require!!';
}
?>
$_COOKIE

為了彌補(bǔ)HTTP 協(xié)議的無狀態(tài)性,保持用戶的會(huì)話狀態(tài),需要使用Cookie 技術(shù)。

Cookie 過程:

  • 用戶提交賬密
  • 服務(wù)器進(jìn)行身份認(rèn)證
  • 下發(fā)身份證,下發(fā)Cookie。
  • 瀏覽器客戶端用戶所有的請(qǐng)求都會(huì)攜帶身份信息,攜帶Cookie 信息。
  • 整體流程體現(xiàn)為,保持了HTTP 會(huì)話的狀態(tài)性。
$_REQUEST

$_REQUEST,默認(rèn)包含了$_GET,$_POST,$_COOKIE 數(shù)組中的所有變量。以上提到的三個(gè)數(shù)組,包含了瀏覽器客戶端的三大傳參方式,也稱GPC。

但是$_REQUEST 數(shù)組在接收參數(shù)的時(shí)候,會(huì)受到一個(gè)PHP 選項(xiàng)的控制。

$_FILES

相關(guān)參數(shù)文章來源地址http://www.zghlxwxcb.cn/news/detail-655270.html

變量 含義
$_FILES[‘uploaded’] 用來保存文件上傳信息的。 uploaded 就是文件域input 標(biāo)簽name 屬性的值。
$_FILES[‘uploaded’][‘name’] 上傳文件的名字。
$_FILES[‘uploaded’][‘type’] 上傳文件的類型。
$_FILES[‘uploaded’][‘tmp_name’] 上傳文件存儲(chǔ)在服務(wù)器中的緩存路徑。
$_FILES[‘uploaded’][‘error’] 錯(cuò)誤代碼。
$_FILES[‘uploaded’][‘size’] 上傳文件的大小
  • $_FILES 中存儲(chǔ)的與上傳文件有關(guān)的信息,不是文件本身,文件內(nèi)容在緩存路徑中。
  • 正常完成文件上傳功能,需要將文件的從緩存拷貝到服務(wù)器文件系統(tǒng)中。

到了這里,關(guān)于PHP數(shù)組的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • PHP代碼審計(jì)8—SSRF 漏洞

    PHP代碼審計(jì)8—SSRF 漏洞

    1、漏洞原理與防御方法 1) 漏洞原理 SSRF的形成大多是由于服務(wù)端提供了從其他服務(wù)器應(yīng)用獲取數(shù)據(jù)的功能,并且沒有對(duì)目標(biāo)地址做過濾與限制。例如,黑客操作服務(wù)端從指定URL地址獲取網(wǎng)頁文本內(nèi)容,加載指定地址的圖片等,利用的是服務(wù)端的請(qǐng)求偽造。 2)防御方法 過濾返

    2024年02月09日
    瀏覽(21)
  • php許愿墻代碼包括前端和后端部分

    以下是一個(gè)簡(jiǎn)單的PHP許愿墻代碼示例,包括前端和后端部分: 前端HTML代碼(index.html): 后端PHP代碼(wishwall.php): 以上代碼實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的許愿墻功能。用戶在前端頁面填寫姓名和愿望,點(diǎn)擊提交后,后端PHP代碼會(huì)將愿望以文本形式追加到一個(gè)名為 \\\"wishes.txt\\\" 的文件中,

    2024年02月03日
    瀏覽(26)
  • php 系列題目,包含查看后端源代碼

    php 系列題目,包含查看后端源代碼

    1.字符串和數(shù)字比較,字符串回被轉(zhuǎn)換成數(shù)字。 \\\"admin\\\" ==0(true) admin被轉(zhuǎn)換成數(shù)字,由于admin是字符串,轉(zhuǎn)換失敗,變成0 int(admin)=0,所以比較結(jié)果是ture 2.混合字符串轉(zhuǎn)換成數(shù)字,看字符串的第一個(gè) “1admin” == 1 ‘’2admin“ == 2? 3.字符串開頭以xex開頭,x代表數(shù)字。會(huì)被轉(zhuǎn)換成科

    2024年02月11日
    瀏覽(25)
  • 微信小程序?qū)W習(xí)實(shí)錄2(下拉刷新、下拉加載更多、小程序事件、PHP后端代碼、刷新無數(shù)據(jù)解決方案)

    微信小程序?qū)W習(xí)實(shí)錄2(下拉刷新、下拉加載更多、小程序事件、PHP后端代碼、刷新無數(shù)據(jù)解決方案)

    lazyCodeLoading基礎(chǔ)庫 2.11.1 及以上版本支持,2.11.1 以下兼容但無優(yōu)化效果 通常情況下,在小程序啟動(dòng)期間,所有頁面及自定義組件的代碼都會(huì)進(jìn)行注入,當(dāng)前頁面沒有使用到的自定義組件和頁面在注入后其實(shí)并沒有被使用。自基礎(chǔ)庫版本 2.11.1 起,小程序支持有選擇地注入必要

    2024年02月05日
    瀏覽(20)
  • PHP開發(fā)日志 ━━ 不同方法判斷某個(gè)數(shù)組中是否存在指定的鍵名,測(cè)試哪種方法效率高

    PHP開發(fā)日志 ━━ 不同方法判斷某個(gè)數(shù)組中是否存在指定的鍵名,測(cè)試哪種方法效率高

    我們可以用 isset($arr[\\\'a\\\']) 或者 array_key_exists(\\\'a\\\', $arr) 來判斷 \\\'a\\\' 鍵名是否存在與 $arr 數(shù)組。 那么這兩種方式哪個(gè)運(yùn)行速度快呢? 不多廢話了,現(xiàn)在我們寫一段代碼來測(cè)試一下: 結(jié)論是 isset() 更勝一籌。

    2024年02月02日
    瀏覽(92)
  • 短視頻矩陣系統(tǒng)源碼開發(fā)搭建技術(shù)解析-PHP語言

    短視頻矩陣系統(tǒng)源碼開發(fā)搭建技術(shù)解析-PHP語言

    一、系統(tǒng)架構(gòu) 整個(gè)短視頻矩陣系統(tǒng)大概分為以下幾個(gè)模塊: 1.多平臺(tái)賬號(hào)管理 支持抖音、快手、小紅書、西瓜、頭條視頻號(hào)等多平臺(tái)賬號(hào)管理。 2.視頻管理模塊 支持視頻批量上傳、批量剪輯、文字轉(zhuǎn)語音,特效等功能配置 3.推薦算法模塊 推薦算法模塊主要用來推薦用戶感興

    2024年02月07日
    瀏覽(30)
  • 小迪安全20WEB 攻防-PHP 特性&缺陷對(duì)比函數(shù)&CTF 考點(diǎn)&CMS 審計(jì)實(shí)例

    小迪安全20WEB 攻防-PHP 特性&缺陷對(duì)比函數(shù)&CTF 考點(diǎn)&CMS 審計(jì)實(shí)例

    #研究對(duì)象 PHP代碼漏洞(代碼問題) # 知識(shí)點(diǎn): 1 、過濾函數(shù)缺陷繞過 2 、 CTF 考點(diǎn)與代碼審計(jì) 一、原理-缺陷函數(shù)-使用講解-本地 內(nèi)置函數(shù): 大部分是比較函數(shù)(過濾時(shí)使用的函數(shù)) (1)、== 與 === : 參考: PHP 淺談 == 和=== 中,數(shù)字和字符串比較的問題。_php 數(shù)字==字符串

    2024年01月19日
    瀏覽(32)
  • 【PHP】二維數(shù)組轉(zhuǎn)一維數(shù)組

    在 PHP 中,如果你想將一個(gè)二維數(shù)組轉(zhuǎn)換為一維數(shù)組,你可以使用幾種不同的方法。以下是一些常見的方法: array_column() 用于提取數(shù)組中的列,最為直接 array_map() 用于對(duì)數(shù)組中的每個(gè)元素應(yīng)用回調(diào)函數(shù),返回的是由回調(diào)函數(shù)的返回值組成的新數(shù)組。 以上任何一種方法都可以

    2024年02月04日
    瀏覽(19)
  • PHP后端連接數(shù)據(jù)庫插入數(shù)據(jù)

    PHP后端連接數(shù)據(jù)庫插入數(shù)據(jù)

    一、打開phpstudy。怎么搭建phpstudy,我上一個(gè)文章里有教。 ? 二、編寫代碼 在網(wǎng)站根目錄下(默認(rèn)是www文件下)創(chuàng)建一個(gè)任意名稱的文件夾,文件夾里創(chuàng)建兩個(gè)php后綴的文件,一個(gè)html后綴的文件,名稱自定義。但為了方便理解我把文件名命名成這樣: ? ? ? ? ?后端連接數(shù)據(jù)庫

    2024年02月06日
    瀏覽(24)
  • Unity UnityWebRequest 向php后端上傳圖片文件

    之前測(cè)試功能寫過一次,因?yàn)榇a忘記保存,導(dǎo)致真正用到的時(shí)候怎么也想不起來當(dāng)初怎么寫的了,復(fù)現(xiàn)后還是寫個(gè)文章記錄一下,省的下次再忘記。 搞定。

    2024年01月23日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包