foreach($arr as $key=>$value)
{
}能不能不用foreach取得$key?
比如。一个函数getkey($arr[0]) 取得第一个元素的key
我就问问
{
}能不能不用foreach取得$key?
比如。一个函数getkey($arr[0]) 取得第一个元素的key
我就问问
解决方案 »
- PHP面试的逻辑题,来看看
- 我这里一用ereg_replace 就出错
- 用php的curl向.net网站post数据的时候老是出现这样的错误如何解决啊?
- 关于Session
- 在页面中的一个textarea,我想让用户在里面输入字数的时候,自动判断是不是超出长度,如果超过则给出提示。
- 急急急!!!!!为什么图片传不上去
- 急求助,还是SESSION的问题,A.PHP网页的SESSION传递不到B.PHP网页中.
- php如何和js结合修改客户端的系统时间?我想同步我公司所有机器的时间,他们每天上班先要访问网页,还有能否测出某个IP是否在线?就像ping的功能一样?
- 斑竹,为何我打不开http://www.csdn.net/expert/topic/56/56204.shtm
- php的语法变更
- 请教DOCTYPE声明在使css在ie6 ie7失效
- php中的curl与C#中的HttpWebResponse
array_keys()函数就是获取所有的key值!
比如:
$arrKeys = array_keys($arr);
$arr数组的第一个key就是$arrKeys[0]
出来交流,总要有点深度吧。问问题前,先看看手册。
//以下来自手册。
array_keys
(PHP 4 , PHP 5)array_keys -- 返回数组中所有的键名
说明
array array_keys ( array input [, mixed search_value])
array_keys() 返回 input 数组中的数字或者字符串的键名。 如果指定了可选参数 search_value,则只返回该值的键名。否则 input 数组中的所有键名都会被返回。
(PHP 4, PHP 5)array_keys — 返回数组中所有的键名说明
array array_keys ( array $input [, mixed $search_value [, bool $strict ]] )
array_keys() 返回 input 数组中的数字或者字符串的键名。 如果指定了可选参数 search_value,则只返回该值的键名。否则 input 数组中的所有键名都会被返回。自 PHP 5 起,可以用 strict 参数来进行全等比较(===)。
Example #1 array_keys() 例子<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_keys($array));
?>
以上例程会输出:Array
(
[0] => 0
[1] => color
)
Array
(
[0] => 0
[1] => 3
[2] => 4
)
Array
(
[0] => color
[1] => size
)
(PHP 4, PHP 5)each — 返回数组中当前的键/值对并将数组指针向前移动一步 说明
array each ( array &$array )
返回 array 数组中当前指针位置的键/值对并向前移动数组指针。键值对被返回为四个单元的数组,键名为 0,1,key 和 value。单元 0 和 key 包含有数组单元的键名,1 和 value 包含有数据。 如果内部指针越过了数组的末端,则 each() 返回 FALSE。
Example #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() 经常和 list() 结合使用来遍历数组,例如: Example #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 遍历数组,必须使用 reset()。 Caution
因为将一个数组赋值给另一个数组时会重置原来的数组指针,因此在上边的例子中如果我们在循环内部将 $fruit 赋给了另一个变量的话将会导致无限循环。
(PHP 4, PHP 5)key — 从关联数组中取得键名说明
mixed key ( array &$array )
key() 返回数组中当前单元的键名。
Example #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);
}
?>