PHP數組指針操做

平常開發過程當中,接觸最多的莫過因而數組了,可是數組的操做咱們通常都是用來作讀寫的,不多操做到有關遊標(指針),可是再實際的時用中,若是利用了遊標,咱們的開發速度及效率會大大的提升。php

PHP中有關數組指針的函數

移動指針的函數

  • next
    • 將數組中的內部指針向前移動一位
    • mixed next ( array &$array )
    • 返回數組內部指針指向的下一個單元的值,或當沒有更多單元時返回 FALSE。
  • prev
    • 將數組的內部指針倒回一位
    • mixed prev ( array &$array )
    • 返回數組內部指針指向的前一個單元的值,或當沒有更多單元時返回 FALSE。
  • reset
    • 將數組的內部指針指向第一個單元
    • mixed reset ( array &$array )
    • 返回數組第一個單元的值,若是數組爲空則返回 FALSE。
  • end
    • 將數組的內部指針指向最後一個單元
    • mixed end ( array &$array )
    • 返回最後一個元素的值,或者若是是空數組則返回 FALSE。

獲取當前指針信息的函數

  • key
    • 從關聯數組中取得鍵名
    • mixed key ( array $array )
    • 返回數組中當前單元的鍵名
    • key() 函數返回數組中內部指針指向的當前單元的鍵名。
    • 但它不會移動指針。
    • 若是內部指針超過了元素列表尾部,或者數組是空的,key() 會返回 NULL。
  • current (pos)
    • 返回數組中的當前單元
    • mixed current ( array &$array )
    • current() 函數返回當前被內部指針指向的數組單元的值,並不移動指針。
    • 若是內部指針指向超出了單元列表的末端,current() 返回 FALSE。

其餘和指針相關的函數

  • each
    • 返回數組中當前的鍵/值對並將數組指針向前移動一步
    • array each ( array &$array )
    • 返回 array 數組中當前指針位置的鍵/值對並向前移動數組指針。
    • 鍵值對被返回爲四個單元的數組,鍵名爲0,1,key和 value。
    • 單元 0 和 key 包含有數組單元的鍵名,1 和 value 包含有數據。
  • list
    • 把數組中的值賦給一組變量
    • array list ( mixed $var1 [, mixed $... ] )
  • extract
    • 從數組中將變量導入到當前的符號表
    • int extract ( array &$array [, int $flags = EXTR_OVERWRITE [, string $prefix = NULL ]] )
    • 返回成功導入到符號表中的變量數目。
  • compact
    • 創建一個數組,包括變量名和它們的值
    • array compact ( mixed $varname1 [, mixed $... ] )
    • 返回輸出的數組,包含了添加的全部變量。

經常使用舉例

$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);

echo '<br /><hr /><br />';
//  ------------------------------------------
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val" . '<br />';
}

echo '<br /><hr /><br />';
//  ------------------------------------------
$foo = array(2 => 'a', 'foo' => 'b', 0 => 'c');
$foo[1] = 'd';
list($x, $y, $z) = $foo;
var_dump($foo, $x, $y, $z);

echo '<br /><hr /><br />';
//  ------------------------------------------
$size = "large";
$var_array = array("color" => "blue",
                   "size"  => "medium",
                   "shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");
echo "$color, $size, $shape, $wddx_size";

echo '<br /><hr /><br />';
//  ------------------------------------------
$city  = "San Francisco";
$state = "CA";
$event = "SIGGRAPH";

$location_vars = array("city", "state");

$result = compact("event", "nothing_here", $location_vars);
print_r($result);

參考資料

相關文章
相關標籤/搜索