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);

参考资料

相关文章
相关标签/搜索