当前位置: 首页 > 知识库问答 >
问题:

PHP警告:in_array()期望参数2为数组,空给定

师野
2023-03-14

请帮忙。我无法理解这一点,虽然我只是在学习php,但我尝试向现有woocommerce函数添加代码,以便在购物车中有一组产品时删除支付网关。我认为下面第四行“为自动支付如果声明添加”是这里的问题。提前谢谢。

public function is_available() {
    //added for autopay 1 line
    global $woocommerce;
    $is_available = parent::is_available();
    //added for autopay 2 lines
    foreach ($woocommerce->cart->cart_contents as $key => $values )
    $autopays = array(26108,30619,35613);
    // don't show on checkout page
    if ( ! $this->is_express_checkout() && is_checkout() && ! $this->show_on_checkout() ) {
        $is_available = false;
    }

    // don't display when order review table is rendered via AJAX
    if ( ! $this->is_express_checkout() && defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_POST['action'] ) && $_POST['action'] == 'woocommerce_update_order_review' && ! $this->show_on_checkout() ) {
        $is_available = false;
    }

    // don't show on checkout > pay page
    if ( is_checkout_pay_page() ) {
        $is_available = false;
    }

    // don't show if the cart contains a subscription and manual renewals are not enabled
    if ( $this->get_plugin()->is_subscriptions_active() && WC_Subscriptions_Cart::cart_contains_subscription() && 'no' === get_option( WC_Subscriptions_Admin::$option_prefix . '_accept_manual_renewals', 'no' ) ) {
        $is_available = false;
    }
    //added for auto pay if statement
     if(in_array($values['product_id'],$autopays)){$is_available = false;
    }
    return $is_available;
}

共有1个答案

逑兴安
2023-03-14

Foreach的语法是

foreach (array_expression as $key => $value) {
    statement1...
    statement2... 
}

在代码中,您缺少foreach语句后的开始括号和结束括号。

 类似资料:
  • 当试图向会话添加数据(并检查它是否已经存在)时,我会收到以下警告。 警告:in_array()要求参数2为数组,给定null 我怎样才能解决这个问题? 它所指的代码: 我只有在清洁的浏览器上添加第一个产品时才会收到此警告。当我删除它并添加另一个产品时,警告就消失了。同样,如果我添加第二个产品。

  • 我循环两个数组之间的字符串重叠,删除那些有一个值的值,以便只保留$check的空值,在这种情况下是$check[5]。 第二个$check是多维的。 第一个循环通过$names运行,第二个循环通过$check运行。 如果$names()中的当前字符串出现在的当前数组中,则该数组将被删除。 但是,控制台会打印一条警告:希望参数2是数组,如果给定空值。我觉得这很奇怪,因为应该等于$check中的一个数

  • 我当前遇到以下脚本的问题。在执行脚本时,我确实收到消息“连接正常!”但是,我还收到以下消息: 警告:mysql_query()希望参数2是/opt/lampp/htdocs/worldofclucky中给定的资源和对象。net/scripts/auth。php第11行 警告:mysql_fetch_array()要求参数1为资源,在/opt/lampp/htdocs/worldofclucky中为

  • 问题内容: 我正在尝试构建一个简单的自定义CMS,但出现错误: 警告:mysqli_query()期望参数1为MySQLi,在中为null 为什么会出现此错误?我所有的代码已经是MySQLi,我正在使用两个参数,而不是一个。 问题答案: 如评论中所述,这是一个范围界定问题。具体来说,不在您的功能范围内。 您应该将连接对象作为依赖项传入,例如 如果连接失败或发生错误,我也强烈建议停止执行。这样的东西

  • 问题内容: 每当我运行此命令时,我都会收到此错误: 编码: 问题答案: 那是因为mysql_query有时返回布尔值false(查询错误)。您需要检查一下: 上面的代码写得不好,不推荐使用。在实际项目中使用带有异常的PDO。

  • 我的代码中出现了这个错误,我不知道如何解决它我的代码: 这是一个错误: 警告:mysqli_query()要求参数1为mysqli,资源在C:\xampp\htdocs\limitless\connect_to_mysql中给出。第17行的php 我做错了什么?