首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在php中获取特定的数组值?

如何在php中获取特定的数组值?
EN

Stack Overflow用户
提问于 2011-11-19 14:14:09
回答 3查看 134关注 0票数 0

我有以下$qtips_messages数组,

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [id] => 1
            [tips_title] => email_tips 
            [tips_message] => ex:xxxxx@xyz.com
            [tips_key] => key_email
        )

    [1] => Array
        (
            [id] => 2
            [tips_title] => website_tips 
            [tips_message] => ex:http://www.yahoo.co.in
            [tips_key] => key_website
        )

    [2] => Array
        (
            [id] => 3
            [tips_title] => zipcode_tips
            [tips_message] => ex:60612
            [tips_key] => key_zipcode
        )

    [3] => Array
        (
            [id] => 4
            [tips_title] => phone_tips 
            [tips_message] => ex:1234567890
            [tips_key] => key_phone
        )
)

例如,我想要获取我用以下代码尝试过的tip_title 'email_tips‘的提示消息。

代码语言:javascript
复制
foreach($qtips_messages as $qtipsArray){
    foreach($qtipsArray as $qkey=>$qvalue){
        if($qtipsArray['tips_title'] == 'email_tips'){
            $emailtipsMessage = $qtipsArray['tips_message'];
        }
    }
}

当我运行上面的代码时,我没有得到任何值。

这段代码有什么问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-19 15:12:17

代码语言:javascript
复制
$array  = array();
foreach($result AS $k =>$val)
   $array[$val['tips_key']]    = $val['tips_message'];
return $array;

现在数组$array具有基于其键的q-tips的所有值...

希望这会对你有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2011-11-19 14:20:28

你只需要一个循环:

代码语言:javascript
复制
$message = null;
foreach ($array as $tips) {
    if ($tips['tips_title'] == 'email_tips') {
        $message = $tips['tips_message'];
        break;
    }
}

不过,我可能会这样做:

代码语言:javascript
复制
$message = current(array_filter($array, function ($tip) { return $tip['tips_title'] == 'email_tips'; }));
echo $message['tips_message'];
票数 2
EN

Stack Overflow用户

发布于 2011-11-19 15:27:37

试试这个方法。

代码语言:javascript
复制
$array  = array();  
foreach($qtips_messages AS $k =>$val):  
if($val['tips_title']=='email_tips')  
{  
  $array[$val['tips_key']] = $val['tips_message'];  
  print_r($array);  
  break;  
}  
endforeach;  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8192284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档