㈠ php里說出數組的常用函數及用法
PHP常用操作數組的函數
變數和數組的轉換
compact() 將變數整合成數組
extract() 將數組中的每個值以鍵的名分解成變數
變數和字元串轉換
explode() 以某個子串分解字元串成數組
implode() 將一維數組根據某個符號拼接成字元串
數組與數組之間關系
array_merge() 合並/並集
array_diff() 差集
array_intersect() 交集
數組值的操作
array_pop() 刪除(彈出)數組最後一個值
array_push() 向數組中追加一個值
判斷數組是否存在數組中
in_array() 判斷一個值是否存在數組中
array_key_exists() 判斷鍵是否存在數組中
數組去重
array_unique() 數組去重
獲取二維數組中的值的集合
array_column() 獲取二維數組中的值的集合
提取數組的鍵與值
array_values 提取數組的值構成一維數組
array_keys 提取數組的鍵構成一維數組
返回數組中的隨機的鍵
array_rand() 返回數組中的隨機的鍵
返回數組中值的數量
count() 返回數組中值的和
查詢數組中的值
array_search() 查詢數組中的值是否存在/in_array()有點相似
排序
sort() 排序有很多種,按鍵或值升降序
array_multisort() 多維數組排序
分割數組
array_chunk()
㈡ php知識框架總結
php知識框架總結
篇一:php基礎知識點總結
PHP語言基礎簡單整理
1.開始結束標記的格式只有在沒有判斷語句時才能使用。
對表單傳遞的變數進行編碼和解碼:PHP中實現對查詢字元串進行URL編碼可以通過函數urlencode()實現,該函數的使用格式如下:string urlencode(string str);對URL編碼後的查詢字元串進行解碼,可以通過urldecode()函數實現,該函數的使用格式如下:string urldecode(string str);
15.PHP連接資料庫:
步驟: 一、建立連接------mssql_connect(server,uid,pwd);
二、指定database-------mssql_select_db(databasename);
三、執行sql------mssql_query($sql,$link);
四、處理記錄集-------資源類型數據,格式:bof---數據---eof
五、以特定格式讀取數據-----mssql_fetch_array()....
六、釋放相關資源、關閉連接------mssql_free_result($result);mssql_close();
16.數組:php的數組由鍵值和value值組成
定義:$array = array("鍵值"=>"value","鍵值"=>"value","鍵值"=>"value");如果不給鍵值賦值,默認從0開始的int值
相關函數:(1)in_array("值",數組名); 返回bool型-----查看數組中是否存在某value值
(2)array_key_exists("key值",數組名); 返回bool型-----查看數組中是否存在某鍵值
(3)array_keys(數組名);---將數組鍵值返回出來形成一個新數組,此鍵值作為新數組的value值
(4)array_values(數組名);---將數組value值返回出來形成一個新數組,此值作為新數組的value值
(5)key(數組名);----返回當前指針指向的元素key值
(6)current(數組名);----返回當前指針指向的元素value值
(7)next(數組名);----挪動當前數組指針到下一步
(8)reset(數組名);----恢復數組指針,指向第0個元素
(9)end(數組名);----將指針挪向最後一個元素
(10)prev(數組名);----將指針向前挪動一位
(11)foreach(數組名 as $key=>$value)
{
$key是鍵值,$value是value值,實現數組遍歷
}
(12)each(數組名);----將當前數組元素依次取出(自動挪動指針)並放到一個新的數組中
(13)array_shift(數組名);----返回數組中第一個元素值
(14)array_pop(數組名);----返回數組最後一個元素值
(15)array_push(數組名,value);----向數組中追加元素
(16)array_unshift(數組名,value);----在數組最前面添加元素
(17)array_pad(數組名,數組長度,value);----向數組中追加多個元素,對數組副本操作,不改變原數組,返回一個新數組
(18)count();----返回個數
(19)array_unique(數組名);----去掉數組中重復部分,操作數組副本,不改變原數組,返回新數組
(20)sort(數組名);----從小到大升序排列數組value值,一般針對int型value值,返回bool型,成功返回true
(21)rsort(數組名);----從大到小,逆序排列數組value值
(22)array_combine(數組1,數組2);----將數組1的value值作為key,數組2的value值作為value值,形成一個新數組
(23)array_merge(數組1,數組2,數組3...);----合並多個數組,將多個數組value值依次合並,合為一個數組
(24)array_slice(數組名,int,int);----從目標數組截取元素,形成一個新數組。開始位置為第二個參數,結束位置為第三個參數。若第三個參數不寫,則默認是截取到最後。
(25)array_splice();----用法同array_slice();但是其截取部分從原數組中刪除
(26)explode("字元依據",目標字元串);----將字元串按照一定的依據拆分成數組
(27)implode("字元依據",目標數組);----將數組元素按照依據組合成一個字元串
(28)range(mixed low,mixed high[number step]);----生成數組,例:range(1,100,8);---即從1到100,每8位取一個數,組成一個數組
(29)shuffle(數組名);----用於將數組進行隨機排序
(30)array_sum(數組名);----對數值型數組元素值進行求和
(31)array_chunk(數組名,int);----分割目標數組,返回一個新數組,其中數組的每個元素都是一個一維數組,int參數為分割成的一維數組的長度
17.Cookie和會話控制:
Cookie是在HTTP協議下,伺服器或腳本可以維護客戶工作站上信息的一種方式。Cookie是由Web伺服器保存在客戶機上的小文本文件,它可以包含有關用戶的信息。無論何時用戶鏈接到伺服器,Web站點都可以訪問Cookie信息。
存在server端的是session,存在client端的是cookie,它們用來存儲全局變數。 設定Cookie值:setcookie("名","值");
通過Cookie數組取值:$_cookie["名"];
設置生成期:setcookie("名","值",time()+1800);生成期為當前時間加1800秒之後。
刪除cookie: setcookie("名","",time()-3600);中間值設置為空,並將當前時間減去3600秒。 Cookie數組:setcookie("名[key]","值"); 使用foreach讀取。
在PHP中可以通過$_COOKIE預定義變數訪問Cookie的值。如果設置了php.ini中的register_long_arrays,那麼就能夠應用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中還設置了register_globals,那麼就可以在PHP中作為全局變數使用各個Cookie值。但是,更改php.ini中的兩個文件設置,容易對PHP的安全構成威脅,不推薦使用該方法,建議使用更新的$_COOKIE。
會話ID的傳送
會話ID的傳送有兩種方式,一種是Cookie方式,另一種是URL方式。
Cookie傳送方式:
這是最簡單的會話方式,但是有些客戶可能限制使用Cookie,如果客戶限制使用Cookie的條件下,仍要繼續工作,那就要通過其他方式來實現了。
URL傳送方式:
在該方式中,URL本身用來傳送會話,會話標志被簡單地附加到URL的尾部,或者作為窗體中的一個變數來傳遞。例:
㈢ 求一個一維數組內部元素的所有可能的組合的演算法用php實現
原理相當的簡單,就是依次向盤子裡面放abc三種水果,後面一個在前面的一堆方法基礎上再依次的放,放一個盤的時候有3種放法,兩個盤的時候有3*3種放法,三個盤的時候是3*3*3種放法,所以最後總數是3的5次方,也就是有243個組合。下面的代碼就是體現出這種邏輯。
<?php
$fruit=array('a','b','c');
$dishes[]=range(1,5);
for($i=0;$i<5;$i++){
foreach($dishes as $k=>$v){
foreach($fruit as $_fruit){
$v[$i]=$_fruit;
$dishes[]=$v;
}
unset($dishes[$k]);
}
}
$dishes=array_values($dishes);
foreach($dishes as $k=>$v)
echo $k+1,':',implode('',$v),'<br>';
?>
㈣ PHP二維數組轉一維數組
PHP二維數組轉為一維數組的方法實例,分別使用foreach、for、while三種循環方法,還可以使用PHP自帶的array_column()函數;
具體示例:
二維數組
$msg=array(
array(
'id'=>'45',
'name'=>'jack'
),
array(
'id'=>'34',
'name'=>'mary'
),
array(
'id'=>'78',
'name'=>'lili'
),
);
第一種方法:
foreach($msgas$k=>$v){
$ids[]=$id;
$names[]=$name;
}
第二種方法:
<?php
$ids=array_column($msg,'id');
$names=array_column($msg,'name');
?>
注意:array_column();可以有第三個參數,如 $n = array_column($msg, 'name', 'id');
㈤ php一維數組合並
<?php
$a = [1,2];
$b = [1,2,3];
$c = [1];
$result = array();
for ($i = 0; $i < 3; $i ++) {
$row = array();
$row[] = empty($a[$i]) ? '' : $a[$i];
$row[] = empty($b[$i]) ? '' : $b[$i];
$row[] = empty($c[$i]) ? '' : $c[$i];
$result[] = $row;
}
var_mp($result);
?>
試試上面的代碼
㈥ php一維數組怎麼追加到二維數組中
假如$leve是是一維數組,$level是二維數組。
代碼如下:
假如$leve是是一維數組,$level是二維數組,那麼你只要用以下代碼就可以進行追加了:
$level =array(3) {
[0]=>
array(2) {
["id"]=>
int(0)
["levelname"]=>
string(12) "普通會員"
}
[1]=>
array(2) {
["id"]=>
string(1) "8"
["levelname"]=>
string(9) "小二哥"
}
}
$leve = array('id'=>2,'levelname'=>'VIP客戶');
$level[]= $leve;
追加以後是
array(3) {
[0]=>
array(2) {
["id"]=>
int(0)
["levelname"]=>
string(12) "普通會員"
}
[1]=>
array(2) {
["id"]=>
string(1) "8"
["levelname"]=>
string(9) "小二哥"
}
[2]=>
array(2) {
["id"]=>
int(2)
["levelname"]=>
string(9) "VIP客戶"
}
}
(6)php生成一維碼擴展閱讀
與一維數組一樣,行序號和列序號的下標都是從 0 開始的。元素 a[i][j] 表示第 i+1 行、第 j+1 列的元素。數組 int a[m][n] 最大范圍處的元素是 a[m–1][n–1]。所以在引用數組元素時應該注意,下標值應在定義的數組大小的范圍內。
此外,與一維數組一樣,定義數組時用到的「數組名[常量表達式][常量表達式]」和引用數組元素時用到的「數組名[下標][下標]」是有區別的。前者是定義一個數組,以及該數組的維數和各維的大小。而後者僅僅是元素的下標,像坐標一樣,對應一個具體的元素。
C 語言對二維數組採用這樣的定義方式,使得二維數組可被看作一種特殊的一維數組,即它的元素為一維數組。比如「int a[3][4];」可以看作有三個元素,每個元素都為一個長度為 4 的一維數組。而且 a[0]、a[2]、a[3] 分別是這三個一維數組的數組名。
僅從表現形式上看,矩陣就是二維數組,所以矩陣的創建、表示以及一些操作和數組是一樣的,而二者之間的區別在於所遵守的運算規則不同,矩陣的運算一般將矩陣看做是一個整體進行運算,而數組的運算則是對應元素的運算。