`

PHP如何获取数组的键与值

    博客分类:
  • PHP
php 
阅读更多

使用数组的过程中经常要遍历数组。通常需要遍历数组并获得各个键或值(或者同时获得键和值),所以毫不奇怪,PHP为此提供了一些函数来满足需求。许多函数能完成两项任务,不仅能获取当前指针位置的键或值,还能将指针移向下一个适当的位置。

获取当前数组键 key()

key()函数返回input_array中当前指针所在位置的键。其形式如下:

mixed key(array array)

下面的例子通过迭代处理数组并移动指针来输出$fruits数组的键:

	$fruits = array("apple"=>"red", "banana"=>"yellow");
	while ($key = key($fruits)) {
	 	printf("%s <br />", $key);
	 	next($fruits);
	}
	
	// apple 
	// banana

注意,每次调用key()时不会移动指针。为此需要使用next()函数,这个函数的唯一作用就是完成推进指针的任务。

获取当前数组值 current()

current()函数返回数组中当前指针所在位置的数组值。其形式如下:

mixed current(array array)

下面修改前面的例子,这一次我们要获取数组值:

	$fruits = array("apple"=>"red", "banana"=>"yellow");
	while ($fruit = current($fruits)) {
	 	printf("%s <br />", $fruit);
	 	next($fruits);
	}
	
	// red 
	// yellow 

获取当前数组键和值 each()

each()函数返回input_array的当前键/值对,并将指针推进一个位置。其形式如下:

array each(array array)

返回的数组包含四个键,键0和key包含键名,而键1和value包含相应的数据。如果执行each()前指针位于数组末尾,则返回false。

	$fruits = array("apple", "banana", "orange", "pear");
	print_r ( each($fruits) );
	
	// Array ( [1] => apple [value] => apple [0] => 0 [key] => 0 )

each() 经常和 list() 结合使用来遍历数组。本例与上例类似,不过循环输出了整个数组:

	$fruits = array("apple", "banana", "orange", "pear");
	reset($fruits);

	while (list($key, $val) = each($fruits))
  	{
  		echo "$key => $val<br />";
  	}
	
	// 0 => apple
	// 1 => banana
	// 2 => orange
	// 3 => pear

因为将一个数组赋值给另一个数组时会重置原来的数组指针,因此在上例中如果我们在循环内部将 $fruits 赋给了另一个变量的话将会导致无限循环。

这就完成了数组的遍历。

分享到:
评论

相关推荐

    PHP获取数组的键与值方法小结

    而在处理数组时,通常需要获取数组的键(key)与值(value)...以上就是PHP获取数组键与值的几种主要方法及其相关使用技巧。掌握这些函数的用法对于进行PHP数组操作是非常重要的,能够帮助开发者更加高效地处理数组数据。

    PHP 获取数组中某个值等5中的数组(指定的一列实例)(多维数组).rar

    本文将深入探讨如何在PHP中获取多维数组中特定值的相关知识点,以及如何通过指定一列来操作这些数据。 首先,理解多维数组是至关重要的。多维数组是由一个或多个数组组成的数组,可以形象地看作是表格或矩阵。例如...

    使用php对二维数组按数组值进行排序

    在上述代码中,`compare_by_score()`函数接收两个数组元素作为参数,并比较它们的'score'键的值。如果第一个元素的分数小于第二个,函数返回-1,表示第一个应该排在前面;如果第一个元素的分数大于第二个,函数返回1...

    PHP获取数组中单列值的方法

    本文实例讲述了PHP获取数组中单列值的方法。分享给大家供大家参考,具体如下: PHP中获取数组中单列的值...该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。 index_ke

    PHP获取数组最后一个值的2种方法

    在获取PHP数组最后一个元素的方法中,推荐使用`end`函数,因为它简单且不受数组键名类型的限制。`count`方法适用于索引为数字的数组,但需要注意索引不连续的情况可能导致错误的结果。`array_pop`适用于可以移除最后...

    php把数组值转换成键的方法

    这意味着在使用该函数时,如果你不指定 `$value` 参数的值,那么原数组中的值将成为新数组键的值。当然,你也可以指定其他值作为新数组键的值,这可以根据实际需要灵活设定。 最后,此方法的使用示例为: ```php $...

    PHP获取数组最大值下标的方法

    在本文中,我们将深入探讨如何在PHP中获取数组最大值的下标,重点介绍`max()`和`array_search()`这两个核心函数。 首先,`max()`函数是PHP内置的用于查找数组中最大值的函数。它接受一个数组作为参数,返回数组中的...

    php 如何获取数组第一个值

    综上所述,获取PHP数组第一个值的方法并不复杂,但重要的是要熟悉 `reset()`, `current()`, 和 `next()` 等数组相关函数的用法,以及理解它们之间的细微差别。这样,无论数组结构如何,都能正确且高效地获取到数组的...

    PHP数组操作——获取数组最后一个值的方法

    这种方法简单且适用,但如果数组最后一个元素的键名是非数字的话(如字符串键名),使用此方法获取的值可能与预期不符,因此此方法更适合键名为数字的数组。 第二种方法是使用PHP内置函数`end()`。`end()`函数会将...

    PHP 数组的常用函数

    12. 获取数组键、值 - `array_keys()`: 返回数组的所有键。 - `array_values()`: 返回数组的所有值。 13. 检查数组是否为空 使用`empty()`检查数组是否为空: ```php if (empty($array)) { echo "Array is empty....

    php数组学习之一

    本篇文章将聚焦于“php数组学习之一”,深入探讨PHP数组的基础概念、类型、创建方式以及一些常用的数组操作函数。 首先,PHP中的数组分为索引数组和关联数组两种类型。索引数组是由数字索引(默认从0开始)组成的...

    php数组操作函数

    array_change_key_case -- 返回字符串键名全为小写或大写的数组 array_chunk -- 将一个数组分割成多个 array_combine -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 array_count_values -- ...

    PHP去除空数组且数组键名重置的讲解

    php空数组的话,能够运用 php函数array_...数组的键名保存不变。 假如没有供给 callback 函数,array_filter() 将删去 array 中所有等值为 FALSE 的条目.这也即是过滤数组空白元素的精华. 如下所示: $entry = array

    PHP程序设计:数组的概念.ppt

    键与值存在着一种对应关系,例如学生的学号就可以用数组的键表示,成绩就是键所对应的“值”。 在PHP中,根据键的数据类型,数组分为索引数组与关联数组。 一、数组的概念 1.索引数组 所谓索引数组就是键为整数的...

    php修改数组键名的方法示例

    总结一下,PHP中修改数组键名的方法主要包括以下步骤: 1. 定义新的键名数组。 2. 编写一个函数,该函数接受子数组的引用和新的键名数组作为参数。 3. 在函数内部,使用 `array_combine()` 结合新的键名和子数组的值...

    php数组函数序列之array_values() 获取数组元素值的函数与方法

    `array_values()` 和 `array_keys()` 是两个非常常用的数组函数,它们分别用于获取数组的元素值和键名。 `array_values()` 函数的定义和用法是提取一个数组的所有值,并将它们放入一个新的数组中。这个函数返回的...

    通过PHP current函数获取未知字符键名数组第一个元素的值

    在这种情况下,PHP提供了`current()`函数,帮助开发者轻松地获取数组的第一个元素的值,无论其键是数字还是字符串。 `current()`函数是PHP内建的一个数组处理函数,它的主要作用是返回数组当前内部指针所指向的元素...

    php获取数组中键值最大数组项的索引值 原创

    首先,我们要明确问题:从给定的关联数组中找到值最大的键(或索引)。这个问题的一个典型应用场景是在班级成绩管理中,我们可能想找出最高分的学生名字,而学生的名字是数组的键,分数是对应的值。 解决这个问题的...

Global site tag (gtag.js) - Google Analytics