检查特定键的多维数组中的值

时间:2015-06-23 18:07:05

标签: php html

我正在构建一个包含多个类别的投资组合。 我有一个多维数组...

$allProjects = array(
    'project1' => array('corporate', 'web'),
    'project2' => array('corporate', 'print', 'animation'),
    'project3' => array('web')
);

如果存在值(例如'web'),我需要在特定键(例如'project1')处检查该多维数组

所以我觉得这样的事情......

$project = $_GET('project'); //this is the project that is displayed
$category = 'print' //for example, I would redefine this variable for each category.

foreach ($allProjects as $project => $categories) {
if in_array($category, $project);
echo 'yes';
}

我使用$ project,上面定义的变量作为键,但这不起作用。我想要的是使用项目的名称(在$ project中定义)作为in_array函数的键,并检查值中$ category的外观。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

试试这个:

$project = $_GET['project'];
$category = 'print';

$categories = $allProjects[$project];
if (!empty($categories) && in_array($category, $categories)) {
    echo 'yes';
}

答案 1 :(得分:0)

你想要什么不需要循环:

<?php
$allProjects = array(
   'project1' => array('corporate', 'web'),
   'project2' => array('corporate', 'print', 'animation'),
   'project3' => array('web')
);

$project = $_GET['project'];
$category = 'print';
if(in_array($category, $allProjects[$project])) {
   echo 'yes';
}
?>