PHP数组有助于从密钥中获取值

时间:2010-04-15 14:51:25

标签: php arrays

我有一个看起来像这样的变量,

$rslt['expected_salary_level']

这会返回一个类似于LEVEL_3的字符串,在另一个看起来像这样的数组中我有一套工资,

    Array
(
    [LEVEL_1] => Array
        (
            [nice_name] => under £10,000
            [low] => 1
            [high] => 10000
        )

    [LEVEL_2] => Array
        (
            [nice_name] => £10,000 - £15,000
            [low] => 10000
            [high] => 15000
        )

    [LEVEL_3] => Array
        (
            [nice_name] => £15,000 - £20,000
            [low] => 15000
            [high] => 20000
        )

    [LEVEL_4] => Array
        (
            [nice_name] => £20,000 - £25,000
            [low] => 20000
            [high] => 25000
        )

    [LEVEL_5] => Array
        (
            [nice_name] => £25,000 - £30,000
            [low] => 25000
            [high] => 30000
        )

    [LEVEL_6] => Array
        (
            [nice_name] => £30,000 - £40,000
            [low] => 30000
            [high] => 40000
        )

    [LEVEL_7] => Array
        (
            [nice_name] => £40,000 - £50,000
            [low] => 40000
            [high] => 50000
        )

    [LEVEL_8] => Array
        (
            [nice_name] => £50,000 - £100,000
            [low] => 50000
            [high] => 100000
        )

    [LEVEL_9] => Array
        (
            [nice_name] => £100,000 or more
            [low] => 100000
            [high] => 9999999
        )

    [LEVEL_VOLUNTARY] => Array
        (
            [nice_name] => Voluntary
            [low] => 
            [high] => 
        )

    [LEVEL_UNSPECIFIED] => Array
        (
            [nice_name] => Not specified
            [low] => 
            [high] => 
        )

)

如何获得相关的好名字?

2 个答案:

答案 0 :(得分:8)

如果我理解正确,$rslt['expected_salary_level']会在您的示例中返回此数组的键。假设这个数组被称为$array,我认为这就是你想要的:

$array[$rslt['expected_salary_level']]['nice_name']

答案 1 :(得分:0)

我认为这是将数组转换为数组键值的简单方法:

$own_array_result = $rslt['expected_salary_level']['LEVEL_3']['nice_name'];

echo $own_array_result;

OUTPUT => £15,000 - £20,000