發新話題

[分享] 《資訊分享》 PHP 手冊 - 函式庫 『陣列函式庫』

《分享》 PHP - 『陣列函式庫』 array_push --- 增加一個或多個元素到陣列的末端之上

array_push

(PHP4)

array_push ---  增加一個或多個元素到陣列的末端之上

語法 : int array_push(array array, mixed var [ , mixed ...] );

說明 :

此函式將參數array看做是一疊(stack),且延伸變數在參數array的末端之上,參數array的長度依照變數的數目而增加。

有著相同的效果是 :

<?php

   $array[ ] = $var;

?>

重覆各個var。

傳回陣列中元素的新數目。

Example :

<?php

    $stack = array(1, 2);

    array_push($stack, "+", 3);

?>

此範列將會使$stack有四個元素:1,2,"+"和3

參考 : array_pop  array_shift  array_unshift

TOP

《分享》 PHP - 『陣列函式庫』 array_rand --- 隨機挑選陣列的一個或多個值出來

array_rand

(PHP4 >= 4.0.0)

array_rand ---  隨機挑選陣列的一個或多個值出來

語法 : mixed array_rand (array input [, int num_req])

說明 :

Array_rand( )當你想要隨機挑選陣列的一個或多個值出來時相當有用,引數num_reg是非必需的,它指出你想要挑選出幾個值出來,如果沒有指定,則它的預設值是1。

如果你只挑選一個值,array_rand( )傳回隨機值的索引。否則,它傳回隨機值的索引放在陣列中,將此陣列傳回。如此一來你不但可以挑選隨機索引值而且可將陣列的值輸出。

別忘了呼叫srand( )來設定亂數種子。

Example :

<?php

   srand ((double) microtime() * 10000000);

   $input = array ("Neo", "Morpheus", "Trinity", "Cypher", "Tank");

   $rand_keys = array_rand ($input, 2);

   print $input[$rand_keys[0]]."\n";

   print $input[$rand_keys[1]]."\n";     

?>

TOP

《分享》 PHP - 『陣列函式庫』 array_reverse --- 傳回顛倒元素順序的陣列

array_reverse

(PHP4 >= 4.0b4)

array_reverse ---  傳回顛倒元素順序的陣列

語法 : array array_reverse(array array);

說明 : 此函式將參數array的元素順序顛倒,且傳回新的陣列。

Example :

<?php

    $input = array("php", 4.0, array("green", "red"));

    $result = array_reverse($input);

?>

此範列使$result成為array(array("green", "red"), 4.0, "php")。

TOP

《分享》 PHP - 『陣列函式庫』 array_shift --- 取得陣列的第一個元素

array_shift

(PHP4)

array_shift ---  取得陣列的第一個元素

語法 : mixed array_shift(array array);

說明 :

此函式移動陣列array的第一個元素並將它傳回,將陣列array縮短一個元素,並且全部向下移動。

Example :

<?php

    $args = array("-v", "-f");

    $opt = array_shift($args);
?>

此範例將會使$arge有一個元素"-f",且$opt有著"-v"。

參考 : array_unshift  array_push  array_pop

TOP

《分享》 PHP - 『陣列函式庫』 array_slice --- 抽出陣列的一部份

array_slice

(PHP4)

array_slice ---  抽出陣列的一部份

語法 : array array_slice(array array, int offset, int [length] );

說明 :

此函式從陣列array傳回元素的一部份,若offset為正數,則取回的部份將起始於陣列中的offset處;若offset為負數,則從陣列的末端開始。若length有給予且是正數,將會取回length個元素,若length是負數,則會停止於陣列末端處第length個元素,若省略此參數,則傳回的部份將會從offset直到陣列的末端。

Example :

<?php

   $input = array("a", "b", "c", "d", "e");

   $output = array_slice($input, 2);      // returns "c", "d", and "e"

   $output = array_slice($input, 2, -1);  // returns "c", "d"

   $output = array_slice($input, -2, 1);  // returns "d"

   $output = array_slice($input, 0, 3);   // returns "a", "b", and "c"
?>

參考 : array_splice

TOP

《分享》 PHP - 『陣列函式庫』 array_splice --- 移除陣列的一部份且替代它

array_splice

(PHP4)

array_splice ---  移除陣列的一部份且替代它

語法 : array array_splice(array input, int offset, int [length] , array [replacement] );

說明 :

此函式將陣列input從offset到length移除,若有提供參數replacement則以replacement的元素來替代。

若offset為正數則移除的起始處從陣列array的開始處第offset的位置開始,若offset為負數則從陣列array的末端開始。

若省略參數length則移除的部份是從offset到陣列末端,若有指定length且是正數則移除length個元素,若有指定length且是負數則移除的部份將會止於陣列的末端第length個元素。

若有指定參數replacement則移除的元素將會以此陣列的元素來替代,若offset和length無移除,則replacement中的元素將會插入在offset所指定處。

以下的義意是相等的 :

array_push($input, $x, $y)     array_splice($input, count($input), 0, array($x, $y))


array_pop($input)                 array_splice($input, -1)


  array_shift($input)                 array_splice($input, 0, 1)


  array_unshift($input, $x, $y)  array_splice($input, 0, 0, array($x, $y))


  $a[$x] = $y                           array_splice($input, $x, 1, $y)
Example :

<?php

    $input = array("red", "green", "blue", "yellow");

    array_splice($input, 2);      // $input is now array("red", "green")

    array_splice($input, 1, -1);  // $input is now array("red", "yellow")

    array_splice($input, 1, count($input), "orange");   // $input is now array("red", "orange")  

    array_splice($input, -1, 1, array("black", "maroon"));

                              // $input is now array("red", "green", "blue", "black", "maroon")


?>

參考 : array_slice

TOP

《分享》 PHP - 『陣列函式庫』 array_unique --- 從陣列移除相同的值

array_unique

(PHP4 >= 4.0.1)

array_unique ---  從陣列移除相同的值

語法 : array array_unique (array array)

說明 :

Array_unique( )取輸入的陣列array且傳回沒有相同的值的陣列。索引會被保留(preserved)。

Example :

<?php

    $input = array ("a" => "green", "red", "b" => "green", "blue", "red");

    $result = array_unique ($input);

?>

這將使$result有著array ( "a" => "green" , "red" , "blue");

TOP

《分享》 PHP - 『陣列函式庫』 array_unshift - 增加一個或多個元素到陣列的起始處

array_unshift

(PHP4)

array_unshift ---  增加一個或多個元素到陣列的起始處

語法 : int array_unshift(array array, mixed var, [...] );

說明 :

此函式增加元素到陣列array的前面,此函式傳回陣列array中新的元素數目。

Example :

<?php

    $queue = array("p1", "p3");

    array_unshift($queue, "p4", "p5", "p6");
?>

此範例將會使$queue有五個元素:"p4","p5","p6","p1"和"p3"。

參考 : array_shift  array_push  array_pop

TOP

《分享》 PHP - 『陣列函式庫』 array_values --- 傳回陣列所有的值

array_values

(PHP4)

array_values ---  傳回陣列所有的值

語法 : array array_values(array input);

說明 :

此函式從陣列array傳回所有的值。

Example :

<?php

    $array = array("size" => "XL", "color" => "gold");

    array_values($array);    // returns array("XL", "gold")
?>

TOP

《分享》 PHP - 『陣列函式庫』 array_walk - 使自定的函式能處理陣列的每個元素

array_walk

(PHP3 >= 3.0.0 , PHP4)

array_walk --- 使自定的函式能處理陣列的每個元素

語法 : int  array_walk(array  arr , string  func);

說明 :

使陣列arr的每個元素和函式名稱func相對應,元素傳到函式func的第一個參數,如果函式func超過一個以上的參數,則會有警告訊息,要抑制警告訊息可在此函式前加上』@』,即@array_walk,或是使用error_reporting。

注意 : 此函式確實會將陣列arr的每個元素依序代入,因此任何元素的改變都將影響陣列本身。

注意 : PHP4.0.新增傳送索引(key)和使用者資料(userdata)到函式func。在PHP4中array_walk( )預設不重設(reset)陣列,因此必須要呼叫reset

Example :

<?php

$fruits = array("d" => "lemon" , "a" => "orange" ,"b" => "banana" , "c" => "apple");

function test_alter($item1) {

$item1 = 'bogus';

}

function test_print($item2) {

echo "$item2<br>\n";

}

array_walk($fruits , 'test_print');

reset ($fruits);

array_walk($fruits , 'test_alter');

reset ($fruits);

array_walk($fruits , 'test_print');

?>

參考 : each( )   list

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。