2012-06-13 175 views
-1

我有一个多维数组,我使用foreach循环循环。多维数组 - 搜索相同的值

我有那么需要检查所有这些阵列是否有“parent_page”和任何其他阵列相同的值,比如关键:

$arrMulti = array(array(
    'page_id' => 1, 
    'page_parent' => 28, 
    'page_title' => 'Testing' 
), array(
    'page_id' => 2, 
    'page_parent' => 30, 
    'page_title' => 'A seperate page' 
), array(
    'page_id' => 3, 
    'page_parent' => 28, 
    'page_title' => 'Testing Sub Page' 
)); 

所以$ arrMulti [0] ['page_parent “]将匹配$ arrMulti [2] [” page_parent'],所以我需要再使用这些,像这样创建一个新的数组:

$arrParentIDs = array('parent_id' => array(
    1, 
    3 
)); 

对不起穷人的解释,但你有什么如何做到这一点的想法?

谢谢!

+0

正确答案:Yey,我有一个想法。几乎正确的答案:再次尝试在http://codereview.stackexchange.com/ – feeela

+0

我很难看到这是codereview而不是StackOverflow的问题吗? 如果我想让某人审查我的代码,并在我的代码上提出指责或批评,那么是的,我会将它放在CodeReview上。 但是,我正在寻求关于如何做与编程有关的帮助,因此是StackOverflow的一个问题。 – DarkMantis

+0

那么,正如我理解你的问题,你不是要求帮助,而是一个解决方案。否则,你会有一些解决方案或尝试在你自己的问题上解释。问题是:“这是我的问题,我该如何解决它。”在SO,恕我直言,是无关紧要的话题。有很多方法可以解决这个问题,其中大多数方法都是使用某种循环遍历数组 - 但是在问之前你知道,不是吗? – feeela

回答

2
$parentIds = array(); 
foreach($arrMulti as $temp): 

    if(isset($temp['page_parent'] && !in_array($temp['page_parent'], $parentIds)){ 
     $parentIds[] = $temp['page_parent']; 
    } 

endforeach; 

var_dump($parentIds);//to show the contents 
+0

编辑为正确性 – Rooster

1

尝试这样的事情..

foreach($arrMulti as $array) { 
    foreach($array as $key=>$val) { 
     //your statement/condition 
    } 
} 
+0

对不起,我应该明确指出我不想做2个foreach循环:/谢谢! – DarkMantis