我有一個關於在PHP中比較字符串的簡單問題。在PHP中比較字符串,不包括空值或空值
我想知道,如果兩個字符串(也適用於任何其他類型)是相等的,但我想排除比較空或空值,所以,我這樣做:
if (!empty($var) && $var == $varToCompare) {
//do stuff
}
它工作正常,但我想知道是否存在一些操作員或功能來做到這一點,避免empty()
部分。
我的背景: 我想以通用的方式知道這一點,但這是我的背景來澄清。 我有兩個或更多的變量,我需要將它們與我的數據庫中的變量進行比較,但是如果我的數據庫中有一個NULL
,並且我的變量也是NULL
(或一個空字符串),我希望false
。即使使用===
運營商,如果兩個字符串是NULL
或類似""
我收到true
。看例子:
$myVars = $this->getArrayOfVars();
$var1 = $myDB->getVar1();// could be null or ""
$var2 = $myDB->getVar2();// could be null or ""
if ((!empty($var1) && $var1 == $myVars[1]) || (!empty($var2) && $var2 == $myVars[2])) {
//do stuff
// I just enter here when the strings are equal, but avoiding the null or empty values
}
我檢查了文檔,但沒有找到任何東西。有人知道可以做到這一點的功能嗎?
不是'empty()'通用不夠嗎? –
請記住,'empty(0)'和'empty('0')'是'true'。 – VolkerK
如果在'getArrayOfVars()'方法中,如果你有'null'或'''''替換它們''「'(空格),那麼你將不需要測試的第一部分('!empty $ var)')? – Maraboc