我有一個帶有布爾值的數組,例如對布爾數組值執行邏輯操作
$myarray = array(true, false, false, true, false);
現在我想在我的陣列值執行一些邏輯運算,所以我得到的輸出:從我的陣列
FALSE
。
我有一個帶有布爾值的數組,例如對布爾數組值執行邏輯操作
$myarray = array(true, false, false, true, false);
現在我想在我的陣列值執行一些邏輯運算,所以我得到的輸出:從我的陣列
FALSE
。
你可以試試這個:
$res = true;
foreach ($myarray as $item) $res &= $item;
echo var_dump($res);
少了幾分優雅,但它應該工作。最後你會得到一個整數,因爲我們在這裏使用位邏輯,可以改進。
對於OR
情況下,你可以做幾乎同樣的事情:
$res = true;
foreach ($myarray as $item) $res |= $item;
echo var_dump($res);
感謝您的解決方案 – Nabi
你試圖把布爾字符串,這是根本錯誤的。你想要的是,例如,一個陣列減少:
$res = array_reduce($myarray, function ($a, $b) { return $a && $b; }, true);
// default value ^^^^
或者更有效的短路all
功能:
function all(array $values) {
foreach ($values as $value) {
if (!$value) {
return false;
}
}
return true;
}
if (all($myarray)) ...
感謝您的解決方案 – Nabi
你可以只搜索您的陣列false
,如果它是目前,返回false
,如果沒有返回true
:
$result = (array_search(false, $myarray, true) === false);
由於您編輯了您的問題,如果您希望它返回0或1,請執行以下操作:
$result = (array_search(false, $myarray, true) === false) ? 1 : 0;
感謝您的解決方案 – Nabi
您應該在這裏得到什麼樣的結果? – Maximus2012
爲什麼var_dump(),然後回顯var_dump()返回的結果? –
有趣的,這裏也提到:http://php.net/manual/en/function.implode.php#104568 – dchayka