php簡單數(shù)組
數(shù)組是一種特殊類型的變量,可以包含許多變量,并將它們保存在列表中。
例如,假設(shè)我們要創(chuàng)建一個包含1到10之間的所有奇數(shù)的列表。創(chuàng)建列表后,我們可以使用變量的索引分配新變量,該變量將引用數(shù)組中的變量。
要使用列表中的第一個變量(在本例中為數(shù)字1),我們將需要給出第一個索引(即0),因為PHP使用的是從零開始的索引,就像今天幾乎所有編程語言一樣。
$odd_numbers = [1,3,5,7,9];
$first_odd_number = $odd_numbers[0];
$second_odd_number = $odd_numbers[1];
echo "The first odd number is $first_odd_number\n";
echo "The second odd number is $second_odd_number\n";
現(xiàn)在,我們可以使用索引添加新變量。要將項目添加到列表的末尾,我們可以為數(shù)組分配索引5(第6個變量):
$odd_numbers = [1,3,5,7,9];
$odd_numbers[5] = 11;
print_r($odd_numbers);
根據(jù)需要,數(shù)組可以包含不同類型的變量,甚至可以包含其他數(shù)組或?qū)ο笞鳛槌蓡T。
要從數(shù)組中刪除項目,請使用unset成員本身上的函數(shù)。例如:
$odd_numbers = [1,3,5,7,9];
unset($odd_numbers[2]); // will remove the 3rd item (5) from the list
print_r($odd_numbers);
有用的功能 該count函數(shù)返回數(shù)組具有的成員數(shù)。
$odd_numbers = [1,3,5,7,9];
echo count($odd_numbers);
該reset函數(shù)獲取數(shù)組的第一個成員。(它還會重置內(nèi)部迭代指針)。
$odd_numbers = [1,3,5,7,9];
$first_item = reset($odd_numbers);
echo $first_item;
我們還可以使用索引語法來獲取數(shù)組的第一個成員,如下所示:
$odd_numbers = [1,3,5,7,9];
$first_item = $odd_numbers[0];
echo $first_item;
該end函數(shù)獲取數(shù)組的最后一個成員。
$odd_numbers = [1,3,5,7,9];
$last_item = end($odd_numbers);
echo $last_item;
我們還可以使用該count函數(shù)獲取列表中元素的數(shù)量,然后使用它來引用數(shù)組中的最后一個變量。請注意,我們從最后一個索引中減去1,因為在PHP中索引是從零開始的,因此我們需要解決以下事實:我們不計算變量號零。
$odd_numbers = [1,3,5,7,9];
$last_index = count($odd_numbers) - 1;
$last_item = $odd_numbers[$last_index];
echo $last_item;
堆棧和隊列功能 數(shù)組也可以用作堆棧和隊列。
要將成員推到數(shù)組的末尾,請使用以下array_push函數(shù):
$numbers = [1,2,3];
array_push($numbers, 4); // now array is [1,2,3,4];
// print the new array
print_r($numbers);
要從數(shù)組末尾彈出成員,請使用以下array_pop函數(shù):
$numbers = [1,2,3,4];
array_pop($numbers); // now array is [1,2,3];
// print the new array
print_r($numbers);
要將成員推到數(shù)組的開頭,請使用以下array_unshift函數(shù):
$numbers = [1,2,3];
array_unshift($numbers, 0); // now array is [0,1,2,3];
// print the new array
print_r($numbers);
要從數(shù)組的開頭彈出成員,請使用以下array_shift函數(shù):
$numbers = [0,1,2,3];
array_shift($numbers); // now array is [1,2,3];
// print the new array
print_r($numbers);
串聯(lián)數(shù)組 我們可以使用array_merge來連接兩個數(shù)組:
$odd_numbers = [1,3,5,7,9];
$even_numbers = [2,4,6,8,10];
$all_numbers = array_merge($odd_numbers, $even_numbers);
print_r($all_numbers);
排序數(shù)組 我們可以使用該sort函數(shù)對數(shù)組進行排序。該rsort函數(shù)對數(shù)組進行反向排序。請注意,排序是在輸入數(shù)組上完成的,并且不會返回新數(shù)組。
$numbers = [4,2,3,1,5];
sort($numbers);
print_r($numbers);
先進的陣列功能 該array_slice函數(shù)返回一個新數(shù)組,該數(shù)組包含從偏移量開始的特定數(shù)組的特定部分。例如,如果我們要丟棄數(shù)組的前三個元素,則可以執(zhí)行以下操作:
$numbers = [1,2,3,4,5,6];
print_r(array_slice($numbers, 3));
我們還可以決定采取特定長度的切片。例如,如果我們只想取兩個項目,則可以向該函數(shù)添加另一個參數(shù):
$numbers = [1,2,3,4,5,6];
print_r(array_slice($numbers, 3, 2));
該array_splice函數(shù)的作用完全相同,但是它也會刪除從原始數(shù)組返回的切片(在這種情況下為numbers變量)。
$numbers = [1,2,3,4,5,6];
print_r(array_splice($numbers, 3, 2));
print_r($numbers);
請關(guān)注我們微信公眾號:mw748219