从复杂的多维数组中获取值

时间:2017-06-04 14:54:19

标签: php arrays multidimensional-array

我有一个像这样的数组

$officeLK = [
    [
        ['text' => "تا ۱ میلیون تومان", 'callback_data' => '111']
    ],
    [
        ['text' => "پانصد هزار تومان", 'callback_data' => '112']
    ],
    [
        ['text' => "۲ میلیون تومان", 'callback_data' => '113']
    ],
    [
        ['text' => "برگشت", 'callback_data' => '1']
    ]
];

我需要一个函数给它callback_data并返回文本值

1 个答案:

答案 0 :(得分:0)

您可以使用foreach循环遍历数组并检查给定的回调是否匹配。

例如:

$officeLK = [
    [
        ['text' => "تا ۱ میلیون تومان", 'callback_data' => '111']
    ],
    [
        ['text' => "پانصد هزار تومان", 'callback_data' => '112']
    ],
    [
        ['text' => "۲ میلیون تومان", 'callback_data' => '113']
    ],
    [
        ['text' => "برگشت", 'callback_data' => '1']
    ]
];

$given_callback = 113:

echo getTextByCallBack($given_callback, $officeLK);

function getTextByCallBack($callback, $officeLK)
{
    foreach ($officeLK as $item) {
        if ($item[0]['callback_data'] == $callback) {
            return $item[0]['text'];
        }
    }
}

将输出:

  

2میلیونتومان