博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php array 处理函数
阅读量:6379 次
发布时间:2019-06-23

本文共 4481 字,大约阅读时间需要 14 分钟。

hot3.png

current

current -- 返回数组中的当前单元

说明

mixed  
current  ( array &array )

每个数组中都有一个内部的指针指向它“当前的”单元,初始指向插入到数组中的第一个单元。

current() 函数返回当前被内部指针指向的数组单元的值,并不移动指针。如果内部指针指向超出了单元列表的末端,current() 返回 FALSE

 

警告

如果数组包含有空的单元(0 或者 "",空字符串)则本函数在碰到这个单元时也返回FALSE这使得用 current() 不可能判断是否到了此数组列表的末端。要正确遍历可能含有空单元的数组,用  函数。

 

 

例 1. current() 及相关函数的用法示例

<?php
$transport 
= array('foot''bike''car''plane'
);
$mode current($transport); 
// $mode = 'foot';
$mode next($transport);    
// $mode = 'bike';
$mode current($transport); 
// $mode = 'bike';
$mode prev($transport);    
// $mode = 'foot';
$mode end($transport);     
// $mode = 'plane';
$mode current($transport); 
// $mode = 'plane';
?>

 

-------------------------------------------------------------------------------------------------------

end

end -- 将数组的内部指针指向最后一个单元

说明

mixed  
end  ( array &array )

end() 将 array 的内部指针移动到最后一个单元并返回其值

 

例 1. 简单的 end() 例子

<?php
$fruits 
= array('apple','banana','cranberry'
);
echo 
end($fruits); 
// cranberry
?>

 

-------------------------------------------------------------------------------------------------------

prev

prev -- 将数组的内部指针倒回一位

说明

mixed  
prev  ( array &array )

返回数组内部指针指向的前一个单元的值,或当没有更多单元时返回 FALSE

 

警告

如果数组包含空的单元,或者单元的值是 0 则本函数碰到这些单元也返回 FALSE。要正确遍历可能含有空单元或者单元值为 0 的数组,参见  函数。

 

prev() 和  的行为类似,只除了它将内部指针倒回一位而不是前移一位。

 

例 1. prev() 及相关函数用法示例

<?php
$transport 
= array('foot''bike''car''plane'
);
$mode current($transport); 
// $mode = 'foot';
$mode next($transport);    
// $mode = 'bike';
$mode next($transport);    
// $mode = 'car';
$mode prev($transport);    
// $mode = 'bike';
$mode end($transport);     
// $mode = 'plane';
?>

 

-------------------------------------------------------------------------------------------------------

next

next -- 将数组中的内部指针向前移动一位

说明

mixed  
next  ( array &array )

返回数组内部指针指向的下一个单元的值,或当没有更多单元时返回 FALSE

next() 和  的行为类似,只有一点区别,在返回值之前将内部指针向前移动一位。这意味着它返回的是下一个数组单元的值并将数组指针向前移动了一位。如果移动指针的结果是超出了数组单元的末端,则 next() 返回 FALSE

 

警告

如果数组包含空的单元,或者单元的值是 0 则本函数碰到这些单元也返回 FALSE。要正确遍历可能含有空单元或者单元值为 0 的数组,参见  函数。

 

 

例 1. next() 及相关函数的用法示例

<?php
$transport 
= array('foot''bike''car''plane'
);
$mode current($transport); 
// $mode = 'foot';
$mode next($transport);    
// $mode = 'bike';
$mode next($transport);    
// $mode = 'car';
$mode prev($transport);    
// $mode = 'bike';
$mode end($transport);     
// $mode = 'plane';
?>

 

-------------------------------------------------------------------------------------------------------

key

key -- 从关联数组中取得键名

说明

mixed  
key  ( array &array )

key() 返回数组中当前单元的键名。

 

例 1. key() 例子

<?php
$array 
= array(
'fruit1' => 'apple'
,
'fruit2' => 'orange'
,
'fruit3' => 'grape'
,
'fruit4' => 'apple'
,
'fruit5' => 'apple'
);
// this cycle echoes all associative array
// key where value equals "apple"
while ($fruit_name current($array
)) {
     if (
$fruit_name == 'apple'
) {
         echo 
key($array).'<br />'
;
     }
    
next($array
);
}
?>

 

-------------------------------------------------------------------------------------------------------

reset

reset -- 将数组的内部指针指向第一个单元

说明

mixed  
reset  ( array &array )

reset() 将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值,如果数组为空则返回 FALSE

 

例 1. reset() 例子

<?php
$array 
= array('step one''step two''step three''step four'
);
// by default, the pointer is on the first element
echo current($array) . "<br />/n"
// "step one"
// skip two steps
next($array
);
next($array
);
echo 
current($array) . "<br />/n"
// "step three"
// reset pointer, start again on step one
reset($array
);
echo 
current($array) . "<br />/n"
// "step one"
?>

 

-------------------------------------------------------------------------------------------------------

each

each -- 返回数组中当前的键/值对并将数组指针向前移动一步

说明

array  
each  ( array &array )

返回 array 数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为 01key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据

如果内部指针越过了数组的末端,则 each() 返回 FALSE

 

例 1. each() 例子

<?php
$foo 
= array("bob""fred""jussi""jouni""egon""marliese"
);
$bar each($foo
);
print_r($bar
);
?>

$bar 现在包含有如下的键/值对:

Array { [1] => bob [value] => bob [0] => 0 [key] => 0 }

 

 

 

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

$bar 现在包含有如下的键/值对:

Array { [1] => Bob [value] => Bob [0] => Robert [key] => Robert }

 

 

each() 经常和  结合使用来遍历数组,例如:

例 2. 用 each() 遍历数组

<?php
$fruit 
= array('a' => 'apple''b' => 'banana''c' => 'cranberry'
);
reset($fruit
);
while (list(
$key$val) = each($fruit
)) {
     echo 
"$key => $val/n"
;
}
?>

上例将输出:

a => apple b => banana c => cranberry

 

在执行 each() 之后,数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。如果要再用 each 遍历数组,必须使用 

转载于:https://my.oschina.net/u/1034537/blog/375228

你可能感兴趣的文章
Java 8中10个不易察觉的错误
查看>>
DataV地图组件全新发布,带你玩转地理大数据
查看>>
《产品设计与开发(原书第5版)》——2.7 Tyco 公司产品开发组织
查看>>
《Adobe Premiere Pro CS6中文版经典教程》——复习题
查看>>
《PaaS程序设计》一第3章 PaaS类型
查看>>
OSCer 开发的全新 OSChina iPhone 客户端
查看>>
IntelliJ IDEA 2016.3.1 发布,Java 开发工具
查看>>
《抓住听众心理——演讲者要知道的100件事》一5.听众有其心理模型
查看>>
《计算机存储与外设》----2.2 主存储器
查看>>
《树莓派Python编程入门与实战(第2版)》——1.6 让你的树莓派正常工作
查看>>
《手机测试Robotium实战教程》—第1章 1.3节移动端自动化测试工具的选择
查看>>
《 营销数据科学: 用R和Python进行预测分析的建模技术》——第1章 了 解 市 场...
查看>>
《面向对象的思考过程(原书第4版)》一2.2 使用抽象思维设计接口
查看>>
Lucene in action 笔记 case study
查看>>
算法可预测未来T台宠儿
查看>>
《面向机器智能的TensorFlow实践》一2.5 源码构建及安装实例:在64位Ubuntu Linux上安装GPU版TensorFlow...
查看>>
HTTP 的内容安全策略(CSP)
查看>>
org.springframework.core简单分析
查看>>
vscode 配置
查看>>
悄悄成长起来的市场,小程序代理
查看>>