php 数组如何得到上一个键名和值 $array=array("a"=>"aa","b"=>"bb");我现在知道了$array[b];我怎么知道他的上一个键名和值是多少先谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 foreach ($a as $k => $v) { print "\$a[$k] => $v.\n";} foreach,或者each ,list看看手册,很有用的! 刚看了下手册,发现没有内置函数可以直接获得当前element前一个的key和value的函数,就自己写了一个小测试程序,希望对你有用<?php $arr = array('a'=>'aa','b'=>'bb','c'=>'cc'); /* $haystack:所在数组 $search_by: 已知类型(可选值为key,value) $needle:已知值 */ function getPre($haystack,$search_by = 'key',$needle){ $counter = count($haystack); $pre_key = null; $pre_value = null; foreach($haystack as $key=>$value){ if($$search_by == $needle){ echo $pre_key ,'=>',$pre_value; break; } $pre_key = $key; $pre_value = $value; } } //已知value为bb getPre($arr,'value','bb'); //已知key为b getPre($arr,'key','b');?> 可惜的是不知道怎麼定位到某一key上,prev用不上$array=array("a"=>"aa","b"=>"bb"); 你知道了$array[b]的值是bb,想根据bb来得到上一个的key跟value,可以这样$str = 'bb';$array=array("a"=>"aa","b"=>"bb"); if( !in_array($str,$array) ): echo( '不在数组中' );else: $keys = array_key($array); $key1 = array_search($str,$array); echo( '当前值[' . $str . ']的key是' . $key1 ); $key2 = array_search($key1,$keys); if( $key2 < 1 ) echo( '已经是第一个,没有更前的了' ); else echo( '前一个的key是' . ($key=$keys[$key2-1]) . ',值是' . $array[$key] );endif; 嘿嘿 寫掉了 應該是array_keys 配置php坏境AppServ后登陆phpMyAdmin 一个异步加载的问题 小弟初来乍到,希望各位大哥能帮忙:求一正则表达式:过滤百度搜索结果的。 wml 中文参数传递出现乱码 求一些程序员关注的网站IT业内动态的网站 如何截取一个字符串的前n个字符? 如何在php中调用linux的动态库(不是win32的dll)? 关于php和MYSQL的两个问题! 很棘手的问题,在linux的服务器上用php访问另一台NT服务器上的sql server. PHP POST无法接受数据 求大神解答 PHP session 入 mysql 需要锁表吗? 求两个方法~~获取年龄和获取出生天数!!
print "\$a[$k] => $v.\n";
}
一个小测试程序,希望对你有用
<?php
$arr = array('a'=>'aa','b'=>'bb','c'=>'cc');
/*
$haystack:所在数组
$search_by: 已知类型(可选值为key,value)
$needle:已知值
*/
function getPre($haystack,$search_by = 'key',$needle){
$counter = count($haystack);
$pre_key = null;
$pre_value = null;
foreach($haystack as $key=>$value){
if($$search_by == $needle){
echo $pre_key ,'=>',$pre_value;
break;
}
$pre_key = $key;
$pre_value = $value;
}
}
//已知value为bb
getPre($arr,'value','bb');
//已知key为b
getPre($arr,'key','b');
?>
你知道了$array[b]的值是bb,想根据bb来得到上一个的key跟value,可以这样$str = 'bb';
$array=array("a"=>"aa","b"=>"bb"); if( !in_array($str,$array) ):
echo( '不在数组中' );
else:
$keys = array_key($array);
$key1 = array_search($str,$array);
echo( '当前值[' . $str . ']的key是' . $key1 );
$key2 = array_search($key1,$keys);
if( $key2 < 1 )
echo( '已经是第一个,没有更前的了' );
else
echo( '前一个的key是' . ($key=$keys[$key2-1]) . ',值是' . $array[$key] );
endif;