基于存储在密钥中的值从二维数组中选择值?

问题描述:

嗨朋友我正在调查我需要从其中存储的数组中提取数组基于存储在密钥中的值从二维数组中选择值?

如何做到这一点我正在寻找基于问题ID提取答案数组例如13。

我有我的问题ID。答案数组与问题相关联。

。如何提取问题阵列和基于问题的id例如13

现在如果我需要其具有的问题ID连同其相关联的ID如何阵列

值从主阵列回答阵列那么从我的数组结构中完成它?

我的代码是这样的

Array 
(
    [0] => Array 
     (
      [que_info] => Array 
       (
        [question_id] => 13 

        [description] => Overall Customer Satisfaction. 




       ) 

      [answers] => Array 
       (
        [0] => Array 
         (
          [answer_id] => 45 

          [answer_text] => Very dissatisfied 

         ) 


       ) 

     ) 

    [1] => Array 
     (
      [que_info] => Array 
       (
        [question_id] => 14 

        [description] => Progress (often referred to as Task Resolution or similar) 


       ) 

      [answers] => Array 
       (
        [0] => Array 
         (
          [answer_id] => 52 

          [answer_text] => None 

         ) 

        [1] => Array 
         (
          [answer_id] => 53 

          [answer_text] => Very little 

         ) 


         ) 



       ) 

     ) 

任何帮助将不胜感激:)

首先,这不是一个二维数组,这是一个数组树。 2D数组对于每个数组[x]总是具有一个元素数组[x] [y],并且永远不会有任何数组[x] [y] [z]。

使用foreach遍历数组,并在找到id对应于question_id的元素时返回答案列表。

例子:

foreach($questions as $question) { 
    if($question['que_info']['question_id'] === $questionId) 
     return $question['answers']; 
    } 
+0

雅感谢您的答复你是对的,我是一个初学者在数组:) :)我会尝试它,我将问题和答案数组它持有的问题ID示例13 – Rinzler 2012-04-25 07:39:04

+0

而我是一个besserwisser :) – nyson 2012-04-25 07:41:25

+0

我使用你的方法得到了我的答案很简单,非常感谢:) – Rinzler 2012-04-26 06:49:39

function find_question($array, $id) { 
    foreach ($array as $arr) 
    { 
     if ($arr['que_info']['question_id'] == $id) 
      return $arr; 
    } 
} 

var_dump(find_question($array, 13)); 
var_dump(find_question($array, 14)); 
+0

感谢您的回复,我会尝试和评论回来就可以了。 – Rinzler 2012-04-25 07:41:15