搜索数组,array_search()问题

时间:2010-05-17 15:35:46

标签: php

有什么方法可以搜索数组中的值并返回它的键,我尝试array_search()但没有成功...下面是我的数组的一个例子

[0] => Array
    (
        [value] => 
        [text] => All Call Types
    )

[1] => Array
    (
        [value] => enquiry
        [text] => Renovation Enquiry
    )

[2] => Array
    (
        [value] => msg
        [text] => Message to Pass on
    ) ...

我的最终目标是转换

valuetext

这是我试过的:

$key = array_search($row['call_type'], $type_list);
$call_type_name = $type_list[$key]['text'];

谢谢!

2 个答案:

答案 0 :(得分:3)

您可以编写一个提供此功能的简短函数:

function findInArray($array, $needle)
{
    for ($i = 0; $i < sizeof($array); $i++)
    {
        if ($array[$i]['value'] == $needle) return $array[$i]['text'];
    }
}

用法示例:

$call_type_name = findInArray($type_list, 'msg');

答案 1 :(得分:1)

这就是你所追求的?找到特定值出现的位置?

function findKeyByField( $arr, $name, $val ){
$pos = 0;
foreach ($arr as $subArr ):

    foreach ($subArr as $key => $value):
        if( $key == $name and $value == $val ){
            return $pos;
        }
    endforeach;

$pos++;
endforeach;
}