为了账号安全,请及时绑定邮箱和手机立即绑定

获取特定键的数组值

获取特定键的数组值

PHP
胡子哥哥 2021-12-24 10:17:53
我想得到meta_value如果meta_key上面等于的值,first_name我该怎么做?我正在做以下事情:echo $name_data[1]['meta_value'];这不起作用,因为meta_value并不总是在该[1]位置。这是数据,有数百个这样的条目,但数据都混在一起(即相同的数据并不总是在 0,1,2 等数组中)。Array(    [0] => Array        (            [umeta_id] => 3221            [user_id] => 130            [meta_key] => nickname            [meta_value] => email@domain.com        )    [1] => Array        (            [umeta_id] => 3222            [user_id] => 130            [meta_key] => first_name            [meta_value] => Jim        )    [2] => Array        (            [umeta_id] => 3223            [user_id] => 130            [meta_key] => last_name            [meta_value] => Jones        ))Array(    [0] => Array        (            [umeta_id] => 3221            [user_id] => 130            [meta_key] => nickname            [meta_value] => email@domain.com        )    [1] => Array        (            [umeta_id] => 3222            [user_id] => 130            [meta_key] => first_name            [meta_value] => John        )    [2] => Array        (            [umeta_id] => 3223            [user_id] => 130            [meta_key] => last_name            [meta_value] => Jones        ))
查看完整描述

2 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

您可以使用array_searchwitharray_column找到适当的索引以从以下位置获取值:


$k = array_search('first_name', array_column($array, 'meta_key'));

if ($k !== false) 

    $first_name = $array[$k]['meta_value'];

更一般地,您可以编写一个函数来返回给定键的值:


function get_value($array, $key) {

    $k = array_search($key, array_column($array, 'meta_key'));

    if ($k !== false) 

        return $array[$k]['meta_value'];

    else

        return '';

}


echo get_value($array, 'first_name') . PHP_EOL;

echo get_value($array, 'nickname') . PHP_EOL;

输出:


Jim

email@domain.com


查看完整回答
反对 回复 2021-12-24
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

与foreach,


foreach($name_data as $meta_data){

    if("first_name" == $meta_data["meta_key"]){

        echo $meta_data["meta_value"];

    }

}


查看完整回答
反对 回复 2021-12-24
  • 2 回答
  • 0 关注
  • 138 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信