第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我的代碼返回多個回顯字符串

為什么我的代碼返回多個回顯字符串

PHP
慕妹3146593 2021-10-15 15:30:04
每當我提交表單時,它都會將“Good”返回“GoodGoodGood”三倍,我正在嘗試找出原因。我所知道的唯一一件事就是它必須對數(shù)組做一些事情。check.php 檢查所有 3 個輸入是否都為空,如果一切正常,則回顯“好”。class Check {    public function mty() {        global $required;        global $field;        foreach($required as $field) {            if (empty($_POST[$field])) {                //Code...            } else {                echo "Good";            }        }    }}submit.php$check = new Check;//Gets names of inputs$required = array('name', 'price', 'id');if(isset($_POST['submit'])) {    $check->mty();}我是 OOP 的新手,只想找到解決問題的方法。這段代碼有什么我可以改進的地方嗎?
查看完整描述

2 回答

?
ibeautiful

TA貢獻1993條經(jīng)驗 獲得超6個贊

問題是您在循環(huán)中的每次迭代中都回響“好”。


您可以創(chuàng)建一個變量來保存狀態(tài)并檢查它并在循環(huán)后回顯:


// The variable that keeps the state

$success = true;


foreach($required as $field) {

    if (empty($_POST[$field])) {

        // Set the state as false

        $success = false;

    }

}


// If state is true, no value was empty and we echo 'Good'... once.

if ($success) {

    echo 'Good';

}

正如其他人所提到的,global應(yīng)盡可能避免使用(如果您的結(jié)構(gòu)合理,則總是如此)。


還有你在循環(huán)中使用global $field;while的問題。如果您打算使用在該方法中導入的 using ,則應(yīng)在. 如果您不打算使用它,請刪除.$fieldforeach$fieldglobal $field;foreachglobal $field;


查看完整回答
反對 回復(fù) 2021-10-15
?
慕田峪4524236

TA貢獻1875條經(jīng)驗 獲得超5個贊

我更喜歡使用array_filter()僅獲取非空值并將其計數(shù)與原始$_POST計數(shù)進行比較


<?php

    # pretend like this was what was posted

    $posted = [

        'foo' => 'bar',

        'bar' => 'foo',

        'treybake' => 'is awesome?'

    ];


    # your GLOBALS

    $required = ['foo', 'treybake'];


    # compare the count of the array without any empty elements 

    # vs original post count

    if (count(array_filter($posted, function($el){return (!empty($el));})) === count($posted)) {

        echo 'good';

    } else {

        echo 'something bad';

    }


查看完整回答
反對 回復(fù) 2021-10-15
  • 2 回答
  • 0 關(guān)注
  • 121 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號