访问对应值给出某个已知值

问题描述:

假设我有一个数组类似下面:访问对应值给出某个已知值

Array 
(
    [0] => Array 
     (
      [id] => 1 
      [title] => Group1 
      [description] => This is the group1. 
     ) 

    [1] => Array 
     (
      [id] => 2 
      [title] => Group2 
      [description] => This is group2. 
     ) 

) 

假设标题被称为“组2”。如果我不能确定它的等效描述(即“这是group2”),如果它不知道其关键字,标识等仅有标题,我该如何确定?

感谢您的任何帮助。

+2

遍历数组,并检查*标题*键是**组2 **,如果是简单地得到说明 – kjetilh 2013-02-22 08:53:08

试试这个:

$title = "Group2"; 

foreach($your_array as $val){ 
    if($val['title'] == $title){ 
     echo $val['description']; 
     break; //cut back on unnecessary looping 
    } 
} 

你必须遍历主阵列上,然后扫描该称号。

假设你的主数组被称为$groups

$title = 'Group2'; 
foreach($groups as $key => $group){ 
    if ($group['title'] == $title){ 
    $groupDescription = $group['description']; 
    // if you need to reference this group again, save it's key. 
    $groupKey = $key; 
    } 
} 

您可以将break命令你找到你正在寻找终止循环,这样就不会继续扫描阵列组后后你找到了你正在寻找的那个。

+1

我需要休息添加到您的吗? :] – 2013-02-22 08:56:28

+1

@nic - 这一切都取决于OP想要对群体做什么。我已经添加了关于break命令的注释...但是请不要编辑其他用户代码块 - 而是留下评论(就像您在我的那样),并让用户决定是否要将其添加到他们的回答。 – Lix 2013-02-22 08:58:00

尝试这样

foreach($myarray as $val){ 
    if($val['title'] == "Group2"){ 
    echo 'This is description '.$val['description']; 
    } 
} 
+0

在这里,你不需要像key和vlaue那样分离它们,但是甚至可以作为搜索的值 – Gautam3164 2013-02-22 08:56:22