45 12345
發新話題

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

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

《資訊分享》 PHP 手冊 - 函式庫 『陣列函式庫』array --- 建立新陣列
array --- 建立新陣列
array

(unknown)

array --- 建立新陣列

語法 : array  array([mixed ...]);

說明 :

傳回參數的陣列,參數能以"=>"運算子來給予索引值,此函式不是正規的函式,主要是用來表示陣列。

以下的範例說明如何建立二維陣列,如何去指定聯合陣列的keys,及如何在標準的陣列中躍過和繼續數字的索引。

Example :

<?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")

           );

?>



[ 本帖最後由 蔡逸竹 於 2006-9-19 21:33 編輯 ]

TOP

《資訊分享》 PHP 手冊 - 函式庫 『陣列函式庫』array_diff --- 計算陣列的差異

array_diff

(PHP4 >= 4.0.1)

array_diff ---  計算陣列的差異

語法 : array array_diff (array array1, array array2 [, array ...])

說明 :

Array_diff( )傳回array1沒有出現在其它引數之中的所有的值,此函式傳回一陣列型態,傳回的陣列其索引值將保留。

Example :

<?php

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

    $array2 = array ("b" => "green", "yellow", "red");

    $result = array_diff ($array1, $array2);

?>

這將使$result有著array("blue")

參考 : array_intersect

TOP

《資訊分享》 PHP 手冊 - 函式庫 『陣列函式庫』 array_flip --- 翻轉陣列所有的值

array_flip

(PHP4 >= 4.0b4)

array_flip ---  翻轉陣列所有的值

語法 : array array_flip(array trans);

說明 : 此函式傳回翻轉(flip)順序的陣列。

Example :

<?php

   $trans = array_flip($trans);

   $original = strtr($str , $trans);

?>

TOP

《資訊分享》 PHP 手冊 - 函式庫 『陣列函式庫』array_intersect --- 計算陣列的交點

array_intersect

(PHP4 >= 4.0.1)

array_intersect ---  計算陣列的交點

語法 : array array_intersect (array array1, array array2 [, array ...])

說明 :

Array_intersect( )傳回array1出現在所有引數之中的所有的值,此函式將傳回一陣列型態,傳回的陣列其索引值將保留。

Example :

<?php

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

     $array2 = array ("b" => "green", "yellow", "red");

     $result = array_intersect ($array1, $array2);

?>

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

參考 : array_diff

TOP

《分享》 PHP 手冊 - 函式庫 『陣列函式庫』 array_keys --- 傳回陣列的所有索引值

array_keys

(PHP4)

array_keys ---   傳回陣列的所有索引值

語法 : array array_keys(array input [ , mixed search_value] );

說明 :

此函式從參數input傳回數字和字串的索引值,參數search_value是非必需的,若有指定則只傳回所指定的值的索引值,否則將從input傳回所有的索引值。

Example :

<?php

   $array = array(0 => 100, "color" => "red");

   array_keys($array);       // returns array(0, "color")

   $array = array(1, 100, 2, 100);

   array_keys($array, 100); //  returns array(0, 2)

?>

參考 : array_values

TOP

《分享》 PHP 手冊 - 函式庫 『陣列函式庫』 array_merge --- 合併兩個以上的陣列

array_merge

(PHP4)

array_merge ---  合併兩個以上的陣列

語法 : array array_merge(array array1, array array2  [ ,  array ...] );

說明 :

此函式將兩個以上的陣列合併在一起,如此一來它們的值則附加在先前的後面。若輸入的陣列有著相同的字串索引值,則後來的值會將覆蓋到之前的值,無論如何,陣列有著相同的數字索引,但是隨後的值將不會覆蓋過原先的值,但是會被附加上。

Example :

<?php

   $array1 = array("color" => "red", 2, 4);

   $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid");

   array_merge($array1, $array2);

?>

產生的陣列將會是 array("color" => "green", 2, 4, "a", "b", "shape" => "trapezoid")   

參考 : array_merge_recursive

TOP

《分享》 PHP 手冊 - 『陣列函式庫』 以遞歸方式合併兩個以上的陣列

array_merge_recursive

(PHP4 >= 4.0.1)

array_merge_recursive ---  以遞歸方式合併兩個以上的陣列

語法 : array array_merge_recursive (array array1, array array2 [, array ...])

說明 :

Array_merge_recursive( )將兩個以上的陣列合併在一起,如此一來它們的值則附加在先前的後面。

如果輸入的陣列有著相同的字串索引值,則這些值會合併起來到陣列中,而且是以遞歸的方式,如此一來假使值的本身是個陣列,這個函式將會合併它在另一個陣列之中。無論如何,陣列有著相同的數字的索引,但是隨後的值將不會覆蓋過原先的值,但是會被附加上。

Example :

<?php

   $ar1 = array ("color" => array ("favorite" => "red"), 5);

   $ar2 = array (10, "color" => array ("favorite" => "green", "blue"));

   $result = array_merge_recursive ($ar1, $ar2);

?>

產生的陣列將會是

array( "color" => array ( "favorite" => array( "red" , "green" ), "blue" ),5 ,10)

參考 : array_merge

TOP

《分享》 PHP 手冊 - 『陣列函式庫』 array_multisort --- 排序複合或多樣尺寸的陣列

array_multisort

(PHP4 >= 4.0b4)

array_multisort ---  排序複合或多樣尺寸的陣列

語法 : bool array_multisort (array ar1 [,mixed arg [,mixed ...[,array...]]])

說明 :

Array_multisort( )能用來立刻將數個陣列或多樣尺寸(multi-dimensional)陣列排序。

輸入的陣列被看作是表格(table)的欄位,依照列(rows)將它排序,這類似於SQL ORDER BY clause的功能,第一個陣列是首要(primary)排序的陣列,此陣列中的列(值)以下一個輸入的陣列對照相同的排序。

這個函式的引數結構是個獨特(unusual)位元,但是是可變通的。第一個引數必定是個陣列,隨後的引數可以是個陣列或是下個列表的排序旗標(flag)之一。

排序順序旗標 :

SORT_ASC - 排序成上升的順序
SORT_DESC - 排序成下降的順序

排序型態旗標 :

SORT_REGULAR - 正常的比較項目
SORT_NUMERIC - 以數字比較項目

SORT_STRING - 看作是字串來比較項目

不能使用二個相同型態的旗標指定在各各陣列之後,排序的旗標指定在陣列引數的後面,只對此陣列起作用,其它的將重設為預設的SORT_ASC和SORT_REGULAR在陣列引數之後。

成功則傳回true,失敗則傳回false。

Example :

<?php

   $ar1 = array ("10", 100, 100, "a");

   $ar2 = array (1,3,"2",1);

   array_multisort ($ar1,$ar2);   

?>

此範例排序後,第一個陣列將會是10 , "a" , 100 , 100,第二個陣列將會是1 , 1 , 2 , "3"。

Example :

<?php

   $ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1));

   array_multisort ($ar[0], SORT_ASC, SORT_STRING,

                             $ar[1], SORT_NUMERIC, SORT_DESC);

?>

在此範例排序後,第一個陣列將會是10 , 100 , 100 , "a" (它被看作是字串且上升排序),且第二個陣列將會是1 , 3 , "2" , 1(它被看作是數值且下降排序)。

TOP

《分享》 PHP 手冊 - 『陣列函式庫』 array_pad --- 填塞陣列為指定的長度與值

array_pad

(PHP4 >= 4.0b4)

array_pad ---  填塞陣列為指定的長度與值

語法 : array array_pad(array input, int pad_size, mixed pad_value);

說明 :

此函式將陣列array填塞成大小為pad_size和值為pad_value的陣列,且將填塞後的陣列傳回,若參數pad_size是一正數,則填塞在陣列的右方,若為負數,則填塞在陣列的左方。如果參數pad_size的絕對值小於或等於陣列input的長度,則將不填塞。

Example :

<?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

?>

TOP

《分享》 PHP 手冊 - 『陣列函式庫』 array_pop --- 取得陣列的最後一個元素

array_pop

(PHP4)

array_pop ---  取得陣列的最後一個元素

語法 : mixed array_pop(array array);

說明 : 此函式傳回陣列array的最後一個元素,將陣列array縮短一個元素。

Example :

<?php

   $stack = array("orange", "apple", "raspberry");

   $fruit = array_pop($stack);
?>

在此之後,$stack只有二個元素"orange"與"apple",且$fruit為"raspberry"。

參考 : array_push  array_shift  array_unshift

TOP

 45 12345
發新話題

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