標籤:str 字串 lis 產生 NPU values inpu 變數賦值 mod
一、建立數組
在PHP中可以使用array( [ index=>values ] )這個語言結構來聲明一個數組。例如:
<?php$fruits = array ( "fruits" => array("a" => "orange", "b" => "banana", "c" => "apple"), "numbers" => array(1, 2, 3, 4, 5, 6), "holes" => array("first", 5 => "second", "third"));?>
說明:文法"index=>values",用逗號分隔開,定義了索引和值,索引可以是字串或數字。如果省略索引,則會自動產生從0開始的整數索引。而且,如果定義了兩個一樣的索引,則後一個會覆蓋前一個。
二、常見數組函數
1.array_pad( ) - 以指定長度將一個值填充進數組,文法為:
array array_pad ( array $array , int $size , $value )
函數簡介:array是需要被填充的原始數組,size是填充後新數組的長度,value是將被填充的值。這個函數會返回一個填充後的數組,數組的長度為size,是在原數組的基礎上填充若干個value得來的。
<?php$input = array(12, 10, 9);$result = array_pad($input, 5, 0);// result is array(12, 10, 9, 0, 0)$result = array_pad($input, -7, -1);// result is array(-1, -1, -1, -1, 12, 10, 9)$result = array_pad($input, 2, "noop");// not padded?>
說明:size的值很重要,如果size為正填充將在數組的右側發生,如果size為負填充將在數組的左側發生,如果size的絕對值小於或等於原數組的長度則不做任何填充。另外,函數只是返回一個副本數組,原始數組並不會被改變。
2.list() - 把數組中的值賦給一組變數,可以在單次操作中就為一組變數賦值,例如
<?php$info = array(‘coffee‘, ‘brown‘, ‘caffeine‘);// 列出所有變數list($drink, $color, $power) = $info;echo "$drink is $color and $power makes it special.\n";// 列出他們的其中一個list($drink, , $power) = $info;echo "$drink has $power.\n";// 或者讓我們跳到僅第三個list( , , $power) = $info;echo "I need $power!\n";// list() 不能對字串起作用list($bar) = "abcde";var_dump($bar); // NULL?>
3.count() - 計算數組中的單元數目。文法:
int count ( $array [, int $mode = COUNT_NORMAL ] )
函數簡介:array是要計算的數組; mode是選擇性參數,若設為COUNT_RECURSIVE(或),count()將遞迴地對數組計數。對計算多維陣列的所有單元尤其有用。
<?php$food = array(‘fruits‘ => array(‘orange‘, ‘banana‘, ‘apple‘), ‘veggie‘ => array(‘carrot‘, ‘collard‘, ‘pea‘));// recursive countecho count($food, COUNT_RECURSIVE); // output 8// normal countecho count($food); // output 2?>
4.range() - 建立一個包含指定範圍單元的數組,文法:
array range ( $start ,$end [, number $step = 1 ] )
函數簡介:start是序列的第一個值,end則標識序列的結束,step設定產生序列的步長,應設為正數,預設為1.
<?php// step 參數// array(0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100)foreach (range(0, 100, 10) as $number) { echo $number;}// 字元序列的使用// array(‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘h‘, ‘i‘);foreach (range(‘a‘, ‘i‘) as $letter) { echo $letter;}?>
5.foreach() - 該文法結構提供了遍曆數組的簡單方式,有兩種文法:
foreach (array_expression as $value) statement
foreach (array_expression as $key => $value) statement
第一種格式遍曆給定的 array_expression 數組。每次迴圈中,當前單元的值被賦給 $value 並且數組內部的指標向前移一步。
第二種格式做同樣的事,除此之外,當前單元的鍵名也會在每次迴圈中被賦給變數 $key。
可以很容易地通過在 $value 之前加上 & 來修改數組的元素。此方法將以引用賦值而不是拷貝一個值。
<?php$arr = array(1, 2, 3, 4);foreach ($arr as &$value) { $value = $value * 2;}// $arr is now array(2, 4, 6, 8)unset($value); // 最後取消掉引用?>
注意:數組最後一個元素的 $value 引用在 foreach 迴圈之後仍會保留,建議使用unset()將其銷毀。
PHP數組簡介