好吧,我測試接下來,我會只是讓你知道我的發現:邏輯問題
echo ('-1' < 0) ? 'true' : 'false'; // will echo "true"
echo ('1' > 0) ? 'true' : 'false'; // will echo "true"
# Notice that '-1' and '1' are strings
現在,讓我們的數組,從數據庫來過濾所有結果以後只獲得UID = 1
的行。
$this->a = array(
[0] => array(
'UID' => '1',
'PID' => '91',
'Amount' => '-1'
),
[1] => array(
'UID' => '1',
'PID' => '92',
'Amount' => '1'
),
[2] => array(
'UID' => '1',
'PID' => '93',
'Amount' => '1'
)
);
現在我想創建一個函數posAmount($PID)
返回true
如果'Amount' > 0
或false
如果'Amount' < 0
。 (注意:金額= 0是我不太在乎的東西)。另外我想寫作類似的功能,稱爲negAmount($PID)
,返回第一個完全相反。我想,現在,把你介紹給我的兩大職能:
public function posAmount($pid)
{
foreach ($this->a as $a)
{
if (count($this->a) == 0) { return false; }
return ($a['PID'] == $pid and $a['Amount'] > 0) ? true : false;
}
}
public function negAmount($pid)
{
foreach ($this->a as $a)
{
if (count($this->a) == 0) { return false; }
return ($a['PID'] == $pid and $a['Amount'] < 0) ? true : false;
}
}
涼爽的事實,關於第一陣列(其中,我與var_dump()
檢查保持其性質低谷整個腳本)是:
$istance->negAmount(91); // Returns true, as expected
$istance->posAmount(92); // Returns false, as NOT expected.
# Why do God wants me to get mad?
必須是該行:'如果(計數($這個 - >票)== 0){返回false; }`` – BoltClock 2011-02-17 18:21:18
返回($一個[ 'PID'] == $ PID和$一個[ '量'] <0)?真:FALSE`可以寫成`回報($ A [ 'PID'] == $ PID和$一個[ '量'] <0)`爲什麼你叫'如果(計數($這個 - >票) == 0){return false; }在每個循環迭代中?這是一個不好的做法。 – 2011-02-17 18:22:09
@BoltClock,不,那是一個錯字。對不起。 – Shoe 2011-02-17 18:22:55