現在我們已經可以從符號表中獲取使用者在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...