PHP課程筆記5

來源:互聯網
上載者:User

標籤:http   io   ar   os   使用   sp   for   strong   檔案   

課時109 list()函數的文法結構

1.list在等號左邊,等號後邊只能是一個數組.

2.list:將數組中的元素轉為變數使用

3.list:數組中有幾個元素,list中就有幾個參數,而且參數一定是變數. 不過參數可以少, 那麼數組的元素就沒有了.

4.只能將索引數組轉為變數,而且必須是連續的.

5.可以在list參數中通過空項選擇性的接收數組中的元素.

課時110 each()函數的特性

1.each()只是一個函數,參數就是一個數組作為參數,返回的值也是一個數組.

2.返回的值是一個數組,數組固定有4個元素,而且下標也是固定的. 1(值)   value(值)  0(下標)  key(下標)

3.ecah()只處理當前的元素,將當前的元素轉為數組資訊.處理完後,指標向下一個元素移動.

4.如果指標已經在結束位置,如果再使用each()擷取元素,返回false.

課時111 使用list( )、each( )和while迴圈遍曆數組 1.

$arr = array("sce","zaj","vicky","coin");

while( list($key,$value) = each($arr) ){

echo "{$key} => {$value} <br>"; }

reset($arr);  //重設指標

echo "<hr>";

$arr = array("sce","zaj","vicky","coin");

while( list($key,$value) = each($arr) )

{ echo "{$key} => {$value} <br>"; }

課時112 使用數組的內部指標控制函數遍曆數組

1.next():指標移動下一位 prev():指標向前移動一位 end():指標移動到最後 reset():指標移動到開頭 key():取得當前的key current():取得當前的value

課時113 PHP超全域數組(預定義變數)概述

超全域數組:在PHP的指令碼中,已經聲明完的變數,你可以直接使用,變數的名字已經規定好了.

1.$_SERVER          伺服器變數

2.$_ENV                 環境變數

3.$_POST               HTTP POST變數

4.$_GET                  HTTP GET變數

5.$_REQUEST       REQUEST變數

6.$_FILES             HTTP上傳檔案變數

7.$_COOKIE

8.$_SESSION       會話變數

9.$GLOBALS

一.數組(關聯陣列),和自己聲明的數組是一樣的操作方式

二.全域: 三:超: 每個預定義數組都有獨特的能力

課時114 伺服器變數$_SERVER和環境變數$_ENV

// 定義一個函數getIP()function getIP(){global $ip;if (getenv("HTTP_CLIENT_IP"))$ip getenv("HTTP_CLIENT_IP");else if(getenv("HTTP_X_FORWARDED_FOR"))$ip getenv("HTTP_X_FORWARDED_FOR");else if(getenv("REMOTE_ADDR"))$ip getenv("REMOTE_ADDR");else $ip "Unknow";return $ip;} // 使用方法:echo getIP();
 getenv("REMOTE_ADDR")用來取得用戶端的 IP 位址,但如果用戶端是使用Proxy 伺服器來訪問,那取到的就是Proxy 伺服器的 IP 位址,而不是真正的用戶端 IP 位址。要想透過Proxy 伺服器取得用戶端的真實 IP 位址,就要使用 getenv("HTTP_X_FORWARDED_FOR") 來讀取。 但是如果用戶端沒有通過Proxy 伺服器來訪問,那麼用getenv("HTTP_X_FORWARDED_FOR") 取到的值將是空的。 else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); 表示如果getenv("HTTP_X_FORWARDED_FOR") 取到的值存在不為空白(即用戶端使用Proxy 伺服器的情況下),則變數$ip等於getenv("HTTP_X_FORWARDED_FOR") 取到的真實IP值。 如果上面的else if(getenv("HTTP_X_FORWARDED_FOR"))取得的值為空白(即沒有使用Proxy 伺服器),則不會執行下面的$ip = getenv("HTTP_X_FORWARDED_FOR");這一行語句。 這種情況下已經確認用戶端沒有使用Proxy 伺服器,從而通過 else if(getenv("REMOTE_ADDR")) $ip = getenv("REMOTE_ADDR"); 這兩行語句獲得用戶端的IP地址也是真實的IP地址。

    php中getenv()和$_SERVER的用法區別:
    getenv 取得系統的環境變數,環境變數的格式為name=value.
    文法: string getenv(string varname);
    傳回值: 字串 函數種類: PHP 系統功能
    內容說明
    若正確取得環境變數 varname,則返回變數值.失敗則返回 false.
    下例可以取得使用者瀏覽器所在機器的網址
    <?php
    $ip = getenv(“REMOTE_ADDR”);
    ?>
    $_SERVER是伺服器超級全域變數數組 用$_SERVER[‘REMOTE_ADDR‘]同樣可以擷取到用戶端的IP地址.
    二者的區別在於,getenv不支援IIS的isapi方式啟動並執行php

2. function getip() { if(!empty($_SERVER["HTTP_CLIENT_IP"])){ return $_SERVER["HTTP_CLIENT_IP"]; }else if(!empty($_SERVER["HTTP_X_FORWARD_FOR"])){ return $_SERVER["HTTP_X_FORWARD_FOR"]; }else if(!empty($_SERVER["REMOTE_ADDR"])){ return $_SERVER["REMOTE_ADDR"]; }else{ return "noknow"; } } echo getip();

課時115 PHP超全域數組介紹1

1.$_GET  接收使用者通過url向伺服器傳的參數

2.$_POST  接收使用者通過HTTP協議向伺服器傳的參數

課時116 PHP超全域數組介紹2

課時117 PHP常用數組函數的分類

課時118 PHP數組中與鍵和值有關的操作函數1

1.array_value() 使數組變成索引數組,返回數組所有的值

2.array_keys() 使數組變成索引數組,返回數組所有的鍵名

課時119 PHP數組中和索引值搜尋相關的函數2

1.in_array(值,數組,[true]) 判斷值是否在數組中.區分大小寫,第三個參數添加後連類型都得相等.

2.array_search() 在數組中搜尋給定的值,如果成功返回索引值

3.array_key_exists() 按給定鍵名尋找是否存在數組中

4.isset() 如果數組裡是空的, 它會返回假. 所以不夠準確.

課時120 PHP數組中與鍵和值有關的操作函數3

1.array_filp()

把一個數組的鍵和值交換,產生一個新的數組.如果值有重複,那麼後面的值會把前面的內容給覆蓋.這個函數的原始數組裡存的只能是字串和整數.

2.array_reverse()

倒序數組,把原來的數組順序逆序,然後產生新數組.

第二個參數如果是true,那麼雖然是逆序,但是索引值對還是原來的. (必須是索引數組才看的出來)

課時121 PHP數組中統計數組元素的個數與唯一性的函數

1.count() 如果用來計算字串,只會輸出 int 1,所以不能用來計算字串.字串用strlen();

2.count(數組,[1])可以遞迴計算數組,也就是計算多維陣列,只要第二個參數傳一個1就可以了, 預設0是不計算.

3.array_count_values()

計算數組中所有值出現的次數

4.array_unique()

把數組中的值重複的給刪除,只保留第一次出現的.

 

課時122 PHP使用回呼函數處理數組的函數array_filter()

1.array_filter()

用回呼函數過濾數組中的單元. 預設時元素中被認為是假的值都過濾掉. 添加第二個參數後可以定義過濾的方式,用回呼函數.

 

 

 課時123 PHP使用回呼函數處理數組的函數array_walk()

1.array_walk()

對數組中的每個成員應用使用者函數.第一個參數是數組,第二個參數是操作, 可以是一個回呼函數.

 

課時124 PHP使用回呼函數處理數組的函數array_map()

1.array_map(回呼函數,數組)

將回呼函數作用到給定數組上.

arrar_may(null,$arr,$brr); 會使數組變成二維數組.使$arr,$brr合并.

 

課時125 PHP中的冒泡(起泡)排序演算法

 

<?php

$arr = array(0,1,2,3,4,5,6,7,8);

 

function maopao($arr){

$len = count($arr)-1;

for($i = 0; $i < $len; $i++){

for($j = 0;$j < $len-$i;$j++){

if($arr[$j] < $arr[$j+1]){

$tmp = $arr[$j+1];

$arr[$j+1] = $arr[$j];

$arr[$j] = $tmp;

}

}

}

return $arr;

}

 課時126 PHP 二分法進行快速排序的原理

PHP課程筆記5

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.