查找数组某个指定键值,必须用遍历吗?
数组格式如下:
- PHP code
Array ( [0] => Array ( [0] => ID [1] => Nickname ) [1] => Array ( [0] => 29 [1] => Test1 ) [2] => Array ( [0] => 654 [1] => Xxx1 ) )
比如要找到ID=29的这条记录,我现在是使用foreach遍历数组
- PHP code
foreach($array as $value){ if($value[0]==29) { //判断条件成立,进行相关操作 } }
请问还有没有更高效的方法?
可能有人说用in_array函数,但是假如记录中除了id为29的外,nickname这个键值也有可能会出现29的情况,用这个函数查询就会有问题。
------解决方案--------------------
$array[1]高效了
in_array不行那用array_keys($array, 29)或者array_search(29,$array)
------解决方案--------------------
- PHP code
$array = array(0 => array('id', 'name'), array('29', 'test'), array('65', '29')); array_walk($array, $theValue = 'checkvalue', 29); if ($theValue == true) { echo 'ok'; } function checkvalue($value, $key, $number) { if ($value[0] == $number) { //something return true; } }