Php 检查数组中是否有值

Php 检查数组中是否有值,php,arrays,isset,Php,Arrays,Isset,我试图检查数组中是否有$subCat值,然后不添加它。我应该得到每个$subCat中的一个,但是当我转储$details时,我仍然得到完整的数组。为什么会这样 foreach ($detailsFunction as $main) { $mainlisting = $main['listingId']; $mainCat = strtolower($main['mainCat']); $subCatO = strtolower($

我试图检查数组中是否有
$subCat
值,然后不添加它。我应该得到每个
$subCat
中的一个,但是当我转储
$details
时,我仍然得到完整的数组。为什么会这样

foreach ($detailsFunction as $main) 
{
        $mainlisting = $main['listingId'];
        $mainCat     = strtolower($main['mainCat']);
        $subCatO     = strtolower($main['subCat']);
        $subCat      = str_replace(" ", "-", $subCatO);

        if(isset($subCat) && $subCat == $subCat)
        {

          $details[] = array('url'     => base_url().'listings/'.$mainCat.'/'.$subCat,
                         'mainCat' => $main['mainCat'],
                         'subCat'  => $main['subCat']   
                        );
        }
}

您是否关心保留
$details
数字键?如果没有,您可以将
$subCat
作为其键添加每个项目,并在添加之前检查该键是否存在:

foreach ($detailsFunction as $main) 
{
        $mainlisting = $main['listingId'];
        $mainCat     = strtolower($main['mainCat']);
        $subCatO     = strtolower($main['subCat']);
        $subCat      = str_replace(" ", "-", $subCatO);

        if(!array_key_exists($subCat, $details))
        {

          $details[$subCat] = array('url'     => base_url().'listings/'.$mainCat.'/'.$subCat,
                         'mainCat' => $main['mainCat'],
                         'subCat'  => $main['subCat']   
                        );
        }
}

要检查
$subCat
是否存在于哪个数组中?现在你只需要检查变量是否被设置,以及它是否等于自身(这永远是真的)@freejosh啊,谢谢。我正在查看$details[]谢谢Josh这正是我想要的