Php if语句有问题,与特定类别匹配

Php if语句有问题,与特定类别匹配,php,if-statement,Php,If Statement,我对if语句有问题 我希望为指定给特定类别(7)的图元显示与不属于该类别的图元不同的按钮: <?php $result=get_media($ref); if(empty($result)) include ('button1.php'); if (count($result)>0) { for ($n = 0; $n

我对if语句有问题

我希望为指定给特定类别(7)的图元显示与不属于该类别的图元不同的按钮:

<?php
            $result=get_media($ref);
            if(empty($result))

                include ('button1.php');

            if (count($result)>0)
            {

                for ($n = 0; $n < count($result); $n++)
                {

                    if($result[$n]["ref"] == '7')
                    {
                        include ('button2.php');
                    }
                    else 
                        include ('button1.php');
                }
            }
            ?>

如果仅将元素指定给类别“7”,则if语句有效。 但是,如果它也被分配到其他类别,则“else”命令不起作用,并且两个按钮都会显示

我当然可以在if语句中添加更多的类别ID,但这将是很多


else语句中的不相等命令也不起作用。

因为7是唯一的触发器,所以让我们稍微简化一下

<?php
            $result = get_media($ref);
            $button = 'button1.php';
            $count  = count($result);

            if ($count > 0) {
               for ($n = 0; $n < $count; $n++) {
                  if($result[$n]["ref"] == '7') {
                        $button = 'button2.php';
                   }
               }
            }
            include ($button);
            ?>

或者使用数组函数。不知道哪一个更快

<?php
            $result = get_media($ref);
            $button = 'button1.php';
            $count  = count($result);

            if ($count > 0) {
                  if(in_array(7, array_column($result, 'ref'))) {
                        $button = 'button2.php';
                  }
            }
            include ($button);
            ?>


这缺少上下文。$result包含哪些内容?
$result
是否提供了一个数组?使用$result,我可以获得被调用元素分配到的类别的值(ID)。但是元素可以有无限多个类别。我尝试了第一个解决方案,它成功了。太完美了。如果第二个更快,我如何测试它?我认为这个答案很有用,但我的名声还是不够好。稍后,看一下微时间函数。还是这个帖子