轉換為布林值

2021-08-28 13:48:36 字數 1176 閱讀 3283

在平時寫**的時候經常會進行邏輯判斷,當條件滿足才去執行,最常用的就是用"=="去對比兩邊的值了,而"=="首先會將兩邊的值轉換為相同的型別然後再進行對比,有的時候我們會將某個變數(或者其它)與true/false進行對比,那麼那些值為true哪些值為false呢?

之前有段時間也是對這個概念掌握地模糊,只是靠著感覺與除錯去寫**,但這並不是長久之計,雖然最後也能完成任務但是較低了效率,增加了不必要的麻煩,在php手冊中查了一下,將其記下,防止以後忘記。

要明確地將乙個值轉換成boolean,用(bool)或者(boolean)來強制轉換。但是很多情況下不需要用強制轉換,因為當運算子,函式或者流程控制結構需要乙個boolean引數時,該值會被自動轉換。

當轉換為boolean時,以下值被認為是false

所有其它值都被認為是 true(包括任何資源 和 nan)。

warning -1 和其它非零值(不論正負)一樣,被認為是 true!

<?php

var_dump

((bool)"")

;// bool(false)

var_dump

((bool)1)

;// bool(true)

var_dump

((bool)-2

);// bool(true)

var_dump

((bool)

"foo");

// bool(true)

var_dump

((bool)

2.3e5);

// bool(true)

var_dump

((bool)

array(12

));// bool(true)

var_dump

((bool)

array()

);// bool(false)

var_dump

((bool)

"false");

// bool(true)

?>

freeMarker讀取布林值,布林值判斷

在後台邏輯裡,定義了布林型別的變數 將該變數放進modelmap model boolean isact false model.addattribute isact isact 在前端頁面讀取該值 var isact isact val if isact false 判斷時是以 字串 的形式來判斷...

迴圈與布林值

這裡應該注意的是,在滿足break的條件之前繼續迴圈,滿足後就跳出迴圈,並且用乙個n來記數 是第幾組選擇 第n組選擇是最佳選擇,於是迴圈輸出各組所選的情況。n 0 answer while true n n 1 a input a,你認罪嗎?請回答認罪或不認罪 b input b,你認罪嗎?請回答認...

物件的布林值

python一切皆物件,所有物件都有乙個布林值 變數也是物件 獲取物件的布林值,使用內建函式bool 來獲取物件的布林值 以下物件的布林值位false false 數值0none 空字串 空列表空元組 空字典空集合 一切空的物件bool值都是false example print bool fals...