php 數組操作(增加,刪除,查詢,排序)等函數說明第1/2頁

來源:互聯網
上載者:User

資料增加,刪除,查詢,排序詳細說明

對數組的添加(首尾資料添加(不限定條數)以及中間任意位置添加資料操作) .
2~對數組的刪除(首尾的資料刪除(不限定條數)以及中間任意位置的資料刪除操作,條件:對數組中間位置刪除的,後面的值往前挪,接上以前的位置) .
3~對資料的排序操作(排序操作,要的是效率) .
4~對數組的查詢(對數組中的某一資料進行查詢,如果滿足,則產生新的數組,這個新的數組就是滿足查詢條件的,條件:查詢,並不是查詢某一個值,還有查詢某一個值滿足某個條件,舉個例子:查詢數組中某個值大於5的,全部篩選出來)

1、php中的數組實質上是map結構,對於索引數組,添加或刪除元素,它並不重新索引。
2、避免混合索引數組和關聯陣列
其餘的要求,尋找php手冊應該有答案。
說實話,我一直記不住那麼多函數。
3。預設的冒泡排序,堆排序,快速排序,插入排序,二分。看你的需求情況了
4.還是迴圈。

PHP數組雖然強大,但效率也很低

2 數組的刪除,以字串為索引的,直接刪除就OK。unset
以數字為索引的,unset刪除,然後使用array_values重設數組。
3 usort排序,可以利用callback函數自己來實現演算法。效率主要看你寫的演算法如何。

1~對數組的添加(首尾資料添加(不限定條數)以及中間任意位置添加資料操作) .
arrar_unshift(數組頭部添加資料)
array_push(數組尾部添加數組)
arrar_fill(中間任意位置添加)
2~對數組的刪除(首尾的資料刪除(不限定條數)以及中間任意位置的資料刪除操作,條件:對數組中間位置刪除的,後面的值往前挪,接上以前的位置) .
array_shift(數組頭部刪除資料)
array_pop(數組為不刪除資料)

array_slice不會對原始數組造成任何修改,我是想說array_splice。
剛才又查了下手冊,發現array_splice功能好強大,對數組的任何位置的任何個數的增刪改操作,都可以用array_splice搞定。
關於非雜湊數組重建數字索引的問題,array_merge和array_values都可以,剛才經過實驗,後者更快

什麼是數組?
在使用 PHP 進行開發的過程中,或早或晚,您會需要建立許多相似的變數。

無需很多相似的變數,你可以把資料作為元素儲存在數組中。

數組中的元素都有自己的 ID,因此可以方便地訪問它們。

有三種數群組類型:
數值數組
帶有數字 ID 鍵的數組
關聯陣列
數組中的每個 ID 鍵關聯一個值
多維陣列
包含一個或多個數組的數組 數值數組
數值數組儲存的每個元素都帶有一個數字 ID 鍵。

可以使用不同的方法來建立數值數組:

例子 1
在這個例子中,會自動分配 ID 鍵:

$names = array("Peter","Quagmire","Joe");

例子 2
在這個例子中,我們人工分配的 ID 鍵:

$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";

可以在指令碼中使用這些 ID 鍵: 複製代碼 代碼如下:<?php
$names[0] = "Peter";
$names[1] = "Quagmire";
$names[2] = "Joe";
echo $names[1] . " and " . $names[2] . " are ". $names[0] . "'s neighbors";
?>

以上代碼的輸出:
Quagmire and Joe are Peter's neighbors

關聯陣列
關聯陣列,它的每個 ID 鍵都關聯一個值。

在儲存有關具體命名的值的資料時,使用數值數組不是最好的做法。

通過關聯陣列,我們可以把值作為鍵,並向它們賦值。

例子 1
在本例中,我們使用一個數組把年齡分配給不同的人: 複製代碼 代碼如下:$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);

例子 2
本例與例子 1 相同,不過展示了另一種建立數組的方法: 複製代碼 代碼如下:$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";

可以在指令碼中使用 ID 鍵: 複製代碼 代碼如下:<?php
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";

echo "Peter is " . $ages['Peter'] . " years old.";
?>

以上指令碼的輸出:

Peter is 32 years old.

多維陣列
在多維陣列中,主數組中的每個元素也是一個數組。在子數組中的每個元素也可以是數組,以此類推。

例子 1
在本例中,我們建立了一個帶有自動分配的 ID 鍵的多維陣列: 複製代碼 代碼如下:$families = array
(
"Griffin"=>array
(
"Peter",
"Lois",
"Megan"
),
"Quagmire"=>array
(
"Glenn"
),
"Brown"=>array
(
"Cleveland",
"Loretta",
"Junior"
)
);

如果輸出這個數組的話,應該類似這樣: 複製代碼 代碼如下:Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior
)
)

例子 2
讓我們試著顯示上面的數組中的一個單一的值:

echo "Is " . $families['Griffin'][2] . " a part of the Griffin family?";
以上代碼的輸出:
Is Megan a part of the Griffin family?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.