PHP数组选择无法正常工作

时间:2019-12-17 20:38:34

标签: php

我正在根据ID替换部分的网站上工作,我创建了此代码,但是注意到我的一个参数无法正常工作

$fb_prac = array('34565', '34565', '1212', '1192', '1219', '1180', '1234','1186', '1221'); 
if (get_the_ID() != ('34565' or '34565' or '1212' or '1192' or '1219' or '1180' or '1234' or '1221')) {
    include 'facebook.html';}
    else {
        if (get_the_ID() == '1186') {
         include 'facebook-1186.html';}else{
    echo do_shortcode('[facebook_card]');}}

指向1186的ID可以正常运行,否则返回快照代码的else可以正常运行,但指向facebook.html的ID不会加载。我的语法有问题吗?感谢您的帮助

2 个答案:

答案 0 :(得分:3)

您尝试使用in_array函数吗?

if (in_array(get_the_ID(), $fb_prac)) {
    include 'facebook.html';
}

https://www.php.net/manual/en/function.in-array.php

答案 1 :(得分:1)

我正在阅读这样的逻辑,如果ID匹配1186,则包括facebook-1186.html,如果ID不在数组$ fb_prac中,则包括facebook.html。否则,请输入简码。

<?php

$fb_prac = array('34565', '34565', '1212', '1192', '1219', '1180', '1234','1186', '1221'); 
$id = get_the_ID();

if ($id == '1186') {
    include 'facebook-1186.html';
}
elseif (!in_array($id, $fb_prac)) {
    include 'facebook.html';
}
else {
    echo do_shortcode('[facebook_card]');
}