32 變數的型別轉換

2021-07-11 10:20:39 字數 1012 閱讀 6370

現在我們已經可以從符號表中獲取使用者在php語言裡定義的變數了,是該做點其它事的時候了,舉個比例,比如給它來個型別轉換:-)。想想c語言中的型別轉換細則,你的頭是不是已經大了?但是變數的型別轉換就是如此重要,如果沒有,那我們的**就會是下面這樣了:

void display_zval(zval *value)

break;

case is_long:

/* 如果是long整型,則輸出數字形式 */

php_printf("%ld", z_lval_p(value));

break;

case is_double:

/* 如果是double型,則輸出浮點數 */

php_printf("%f", z_dval_p(value));

break;

case is_string:

/* 如果是string型,則二進位制安全的輸出這個字串 */

phpwrite(z_strval_p(value), z_strlen_p(value));

break;

case is_resource:

/* 如果是資源,則輸出resource #10 格式的東東 */

php_printf("resource #%ld", z_resval_p(value));

break;

case is_array:

/* 如果是array,則輸出array5個字母! */

php_printf("array");

break;

case is_object:

php_printf("object");

break;

default:

* but it's dangerous to make assumptions

*/php_printf("unknown");

break;

}}

看完上面的**,你是不是有點似曾相識的感覺?o(∩∩)o…哈哈,和直接

變數型別的轉換

變數型別的轉換 變數的資料型別是可以轉換的。轉換的方法有兩種,一種是自動轉換,一種是強制轉換。自動轉換 自動轉換發生在不同資料型別的量混合運算時,由編譯系統自動完成。自動轉換遵循以下規則 1.若參與運算量的型別不同 則先轉換成同一型別,然後進行運算。2.轉換按資料長度增加的方向進行,以保證精度不降低...

變數的型別自動轉換

byte shoat char 賦值 預設int型別 小數型別預設是double 的 如 5.0 img byte a 12 這裡12預設是int型別 那麼有個問題?不是小型別轉大型別才自動轉換呢?為啥這裡小型別可以存大型別的值得。那麼這裡就有人說 因為在範圍內啊 那麼再給你舉乙個反例 float ...

SqlServer 變數型別轉換

型別轉換函式 cast 值 as 要變成的型別 convert 要變成的型別,值 select cast 123 as int 123 select convert int,123 123 select cast 123.4 as int 123 這種寫法會報錯 select convert int...