PHP中的字符串比较-不断返回错误值

PHP中的字符串比较-不断返回错误值,php,wordpress,Php,Wordpress,在WordPress中,我正在使用一个插件,它记录一个元键,并添加一个值yes或no。如果它是特色的,我想添加css,但是无论结果如何,它都在添加div <?php if ( get_post_meta( get_the_ID(), '_featured', true ) ) : ?> <?php $feat = get_post_meta( get_the_ID(), '_featured', true ); ?>

在WordPress中,我正在使用一个插件,它记录一个元键,并添加一个值yes或no。如果它是特色的,我想添加css,但是无论结果如何,它都在添加div

            <?php if ( get_post_meta( get_the_ID(), '_featured', true ) ) : ?>
                <?php $feat = get_post_meta( get_the_ID(), '_featured', true ); ?>
                            <?php if( strcasecmp($feat, yes) == 0)?>
                                <a href=""><div class="featured_reject">Featured Rejection</div></a>

                            <?php endif; ?>
                            <h1><?php echo get_post_meta( get_the_ID(), '_featured', true ) ?></h1>
                <?php endif; ?>

并非所有这些都是为了结束,其中一些只是为了测试日志的结果

            <?php if ( get_post_meta( get_the_ID(), '_featured', true ) ) : ?>

这将检查是否存在值。很好

<?php $feat = get_post_meta( get_the_ID(), '_featured', true ); ?>

将其记录为变量

<?php if( strcasecmp($feat, 'yes') == 0)?>
                                    <a href=""><div class="featured_reject">Featured Rejection</div></a>

                                <?php endif; ?>

这是添加div的代码。无论值是yes还是no,它都会添加div

<h1><?php echo get_post_meta( get_the_ID(), '_featured', true ) ?></h1>
                    <?php endif; ?>

最后一部分只是为了检查我自己的价值


我不确定我会错在哪里

您的HTML没有用PHP包装,因此不受条件语句的影响

改变

<?php if( strcasecmp($feat, 'yes') == 0)?>
                                    <a href=""><div class="featured_reject">Featured Rejection</div></a>

                                <?php endif; ?>


您的HTML不是用PHP包装的,因此不受条件语句的影响

改变

<?php if( strcasecmp($feat, 'yes') == 0)?>
                                    <a href=""><div class="featured_reject">Featured Rejection</div></a>

                                <?php endif; ?>


您的HTML不是用PHP包装的,因此不受条件语句的影响

改变

<?php if( strcasecmp($feat, 'yes') == 0)?>
                                    <a href=""><div class="featured_reject">Featured Rejection</div></a>

                                <?php endif; ?>


您的HTML不是用PHP包装的,因此不受条件语句的影响

改变

<?php if( strcasecmp($feat, 'yes') == 0)?>
                                    <a href=""><div class="featured_reject">Featured Rejection</div></a>

                                <?php endif; ?>


php if..endif的语法是:

if (condition):
   ...
endif;
(per:)

所以你需要改变

<?php if( strcasecmp($feat, yes) == 0)?>
    <a href=""><div class="featured_reject">Featured Rejection</div></a>
<?php endif; ?>

if语句中的to(注意额外的:after==):

<?php if( strcasecmp($feat, yes) == 0):?>
    <a href=""><div class="featured_reject">Featured Rejection</div></a>
<?php endif; ?>

php if..endif的语法是:

if (condition):
   ...
endif;
(per:)

所以你需要改变

<?php if( strcasecmp($feat, yes) == 0)?>
    <a href=""><div class="featured_reject">Featured Rejection</div></a>
<?php endif; ?>

if语句中的to(注意额外的:after==):

<?php if( strcasecmp($feat, yes) == 0):?>
    <a href=""><div class="featured_reject">Featured Rejection</div></a>
<?php endif; ?>

php if..endif的语法是:

if (condition):
   ...
endif;
(per:)

所以你需要改变

<?php if( strcasecmp($feat, yes) == 0)?>
    <a href=""><div class="featured_reject">Featured Rejection</div></a>
<?php endif; ?>

if语句中的to(注意额外的:after==):

<?php if( strcasecmp($feat, yes) == 0):?>
    <a href=""><div class="featured_reject">Featured Rejection</div></a>
<?php endif; ?>

php if..endif的语法是:

if (condition):
   ...
endif;
(per:)

所以你需要改变

<?php if( strcasecmp($feat, yes) == 0)?>
    <a href=""><div class="featured_reject">Featured Rejection</div></a>
<?php endif; ?>

if语句中的to(注意额外的:after==):

<?php if( strcasecmp($feat, yes) == 0):?>
    <a href=""><div class="featured_reject">Featured Rejection</div></a>
<?php endif; ?>


我个人不喜欢STRCAECMP。我会使用strtolower($feat)=‘yes’作为我的comparison@cale_b是的,我对这个字符串比较的东西有很大的问题。我在页面上有两个字符串比较,两个都被破坏了。我试过$feat=='yes'和strcmp($feat,'yes')都不起作用。那么
var\u dump($feat)
输出是什么呢?您应该使用var_dump而不是echo来查看变量的内容-它提供变量的类型和其他有用信息。它根据状态输出是或否。谢谢你的提示。我的if参数肯定有问题,我将变量更改为字符串长度,然后将if参数更改为>2。每次仍然打印。在您的第一次代码粘贴中,没有单引号。是的,您能确认它始终是单引号吗。你能在这里粘贴var_dump($feat)的输出吗?我个人不喜欢stracecmp。我会使用strtolower($feat)=‘yes’作为我的comparison@cale_b是的,我对这个字符串比较的东西有很大的问题。我在页面上有两个字符串比较,两个都被破坏了。我试过$feat=='yes'和strcmp($feat,'yes')都不起作用。那么
var\u dump($feat)
输出是什么呢?您应该使用var_dump而不是echo来查看变量的内容-它提供变量的类型和其他有用信息。它根据状态输出是或否。谢谢你的提示。我的if参数肯定有问题,我将变量更改为字符串长度,然后将if参数更改为>2。每次仍然打印。在您的第一次代码粘贴中,没有单引号。是的,您能确认它始终是单引号吗。你能在这里粘贴var_dump($feat)的输出吗?我个人不喜欢stracecmp。我会使用strtolower($feat)=‘yes’作为我的comparison@cale_b是的,我对这个字符串比较的东西有很大的问题。我在页面上有两个字符串比较,两个都被破坏了。我试过$feat=='yes'和strcmp($feat,'yes')都不起作用。那么
var\u dump($feat)
输出是什么呢?您应该使用var_dump而不是echo来查看变量的内容-它提供变量的类型和其他有用信息。它根据状态输出是或否。谢谢你的提示。我的if参数肯定有问题,我将变量更改为字符串长度,然后将if参数更改为>2。每次仍然打印。在您的第一次代码粘贴中,没有单引号。是的,您能确认它始终是单引号吗。你能在这里粘贴var_dump($feat)的输出吗?我个人不喜欢stracecmp。我会使用strtolower($feat)=‘yes’作为我的comparison@cale_b是的,我对这个字符串比较的东西有很大的问题。我在页面上有两个字符串比较,两个都被破坏了。我试过$feat=='yes'和strcmp($feat,'yes')都不起作用。那么
var\u dump($feat)
输出是什么呢?您应该使用var_dump而不是echo来查看变量的内容-它提供变量的类型和其他有用信息。它根据状态输出是或否。谢谢你的提示。我的if参数肯定有问题,我将变量更改为字符串长度,然后将if参数更改为>2。仍然是pri