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

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

我們什么時候應(yīng)該為新變量賦值?

我們什么時候應(yīng)該為新變量賦值?

PHP
手掌心 2022-10-28 10:03:50
給定以下代碼:AND (myTable.field_1 IN ('" . implode("','", $myObj->userStatus) . "')  OR myTable.field_2 IN ('" . implode("','", $myObj->userStatus) . "')  OR myTable.field_3 IN ('" . implode("','", $myObj->userStatus) . "'))";最佳做法是什么以及為什么:1) 按原樣使用。(難看,但不會創(chuàng)建一個只讀的新變量)。2)使其更好地閱讀和維護(hù)創(chuàng)建一個變量來保存該值并這樣做:$userStatus = $myObj->userStatus;//Some Code HEreAND (myTable.field_1 IN ('" . implode("','", $userStatus) . "')  OR myTable.field_2 IN ('" . implode("','", $userStatus) . "')  OR myTable.field_3 IN ('" . implode("','", $userStatus) . "'))";在這種情況下創(chuàng)建變量是否有任何“不利因素”?或者它不會影響性能,所以我們應(yīng)該走“好讀”的道路?
查看完整描述

3 回答

?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個贊

首先,您可以將 預(yù)計算implode("','", $userStatus)為變量。這樣,您不必多次重復(fù) implode 函數(shù)。它更具可讀性并且具有更好的性能。

其次,最重要的是您以錯誤的方式處理數(shù)據(jù)!這種計算應(yīng)該在您的數(shù)據(jù)庫中完成。例如,您已將多對多關(guān)系轉(zhuǎn)換為一對多。這使您的代碼可讀性降低,效率降低。

第三,不要過度設(shè)計你的代碼。如果您要進(jìn)行操作,請?jiān)谧兞恐羞M(jìn)行操作以提高可讀性而不是提高性能。性能通常取決于算法、結(jié)構(gòu)和設(shè)計,而不是定義變量。




查看完整回答
反對 回復(fù) 2022-10-28
?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個贊

作為一般做法,我不會分配新變量,除非我實(shí)際上要以需要它的方式使用它。當(dāng)然也有例外,可讀性會顯著提高。我認(rèn)為您的示例根本不符合該閾值。

事實(shí)上,我認(rèn)為你的具體例子,在這里分配另一個變量可能不清楚是什么$userStatus。瀏覽代碼時要跟蹤的是另一件事。

當(dāng)然,沒有什么“丑陋”的$myObj->userStatus。

無論如何,這里還有其他問題。永遠(yuǎn)不要將數(shù)據(jù)直接連接到 SQL 查詢中。它至少需要轉(zhuǎn)義,但綁定參數(shù)更好。否則,您將面臨一大堆錯誤和安全問題。

如果你使用命名參數(shù),你會發(fā)現(xiàn)無論如何你只會使用$myObj->userStatus一次。


查看完整回答
反對 回復(fù) 2022-10-28
?
縹緲止盈

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個贊

您應(yīng)該嘗試以下代碼:


$userStatus = $myObj->userStatus;

//Some Code HEre


$userStatusimp = implode(',', $userStatus);


AND (myTable.field_1 IN ('" .$userStatusimp. "')

  OR myTable.field_2 IN ('" .$userStatusimp . "')

  OR myTable.field_3 IN ('" .$userStatusimp. "'))";


查看完整回答
反對 回復(fù) 2022-10-28
  • 3 回答
  • 0 關(guān)注
  • 144 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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