国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php數(shù)據(jù)類型之自動轉(zhuǎn)換和強制轉(zhuǎn)換

PHP在PHP 5.x階段都是完全的弱類型的編程語言。所謂弱類型,就是在聲明變量的時候,不需要指定變量的類型。我要聲明一個整型的變量,我不用在前面非得寫上類型,再寫變量。

PHP 7?的性能有很大的提高。實際測試的結(jié)果,PHP 7的性能與PHP5.6相比,提升了性能接近200%。在PHP 7 中有些地方,我們可以強制指定類型,也可以不用強制指定類型來聲明變量。

我們接來下來講強制類型轉(zhuǎn)換和自動類型轉(zhuǎn)換兩個部份。

【默寫級別】布爾值的自動類型轉(zhuǎn)換、強制類型轉(zhuǎn)換的英文單詞

布爾值的自動類型轉(zhuǎn)換

自動類型轉(zhuǎn)換,就是數(shù)據(jù)類型在某些情況下,自動會變?yōu)槠渌念愋蛥⑴c運算。自動類型轉(zhuǎn)換的發(fā)生時機是:運算和判斷的時候某些值會自動進行轉(zhuǎn)換。

下面的情況是布爾值判斷時的自動類型轉(zhuǎn)換

1,整型的0為假,其他整型值全為真

2, 浮點的0.0,布爾值的假。小數(shù)點后只要有一個非零的數(shù)值即為真。

3,空字符串為假,只要里面有一個空格都算真。

4,字符串的0,也將其看作是假。其他的都為真

5,空數(shù)組也將其視為假,只要里面有一個值,就為真。

6,空也為假

7, 未聲明成功的資源也為假

我們針對以上針理的規(guī)則一項一項來做實驗看看結(jié)果。

1,整型的0為假,其他整型值全為真

<?php
//整型的0,換成整型的其他值試試
$bool = 0;
if($bool){
   echo '美女美女我愛你';
}else{
   echo '鳳姐鳳姐愛死我,執(zhí)行假區(qū)間咯';
}
?>

2, 浮點的0.0,布爾值的假。小數(shù)點后只要有一個非零的數(shù)值即為真。

<?php
//浮點類型的的0,換成其他值試試
$bool = 0.0;
if($bool){
   echo '美女美女我愛你';
}else{
   echo '鳳姐鳳姐愛死我,執(zhí)行假區(qū)間咯';
}
?>

3,空字符串為假,只要里面有一個空格都算真。

<?php
//空字符串,中間沒有空格喲。實驗完加個空格試試
$str = '';
if($str){
    echo '美女美女我愛你';
}else{
    echo '鳳姐鳳姐愛死我,執(zhí)行假區(qū)間咯';
}
?>

4,字符串的0,也將其看作是假。其他的都為真

<?php
//0這個字符串喲,試試其他值看看
$str = '0';
if($str){
    echo '美女美女我愛你';
}else{
    echo '鳳姐鳳姐愛死我,執(zhí)行假區(qū)間咯';
}
?>

5,空數(shù)組也將其視為假,只要里面有一個值,就為真。

<?php
//這個數(shù)組當中啥也沒放
$arr = array();
if($arr){
    echo '美女美女我愛你';
}else{
    echo '鳳姐鳳姐愛死我,執(zhí)行假區(qū)間咯';
}
?>

6,空也為假

<?php
//聲明了一個空的變量$bool
$bool = null;
if($bool){
    echo '美女美女我愛你';
}else{
    echo '鳳姐鳳姐愛死我,執(zhí)行假區(qū)間咯';
}
?>

7, 未聲成功的資源也為假

<?php
//下面這段代碼會顯示警告,可忽略。暫時只需要對著實驗知道效果即可:未聲成功的資源也為假
//下面這一塊了解意思就行:打開adasfasfasfdsa.txt這個不存在的文件
$res = fopen('adasfasfasfdsa.txt','r');
if($res){
    echo '美女美女我愛你';
}else{
    echo '鳳姐鳳姐愛死我,執(zhí)行假區(qū)間咯';
}
?>

其他類型的自動類型轉(zhuǎn)換

自動類型轉(zhuǎn)換在運算時也可以發(fā)生。跟所有我們總結(jié)的規(guī)律和觀點一樣:先總結(jié)、后實驗。

只有標量在運算時會產(chǎn)生以下的自動類型轉(zhuǎn)換:

2015-07-28_55b79dcad98de.png

<?php
//布爾變整型參與運算
$fo = true;
$result = $fo + 10;
//$result 結(jié)果為整型的11,因為$fo布爾的true變?yōu)榱?
//如果$fo的值為0
var_dump($result);
//字符串類型
$str = '419不要愛';
$result = $str + 1;
//結(jié)果為420。因為將$str變?yōu)榱苏偷?19參與運算
//將419放在字符串中間和結(jié)尾試試
var_dump($result);
?>

總結(jié):

布爾值的true參與運算是會變成整型或者浮點的1布爾值的false參與運算是會變成整型或者浮點的0字符串開始處是整型或浮點類型的字符,會轉(zhuǎn)成對應(yīng)的類型參與運算

強制類型轉(zhuǎn)換

強制類型轉(zhuǎn)換有三種方式:

????1.用后面的三個函數(shù)可以完成類型轉(zhuǎn)換,intval()、floatval()、strval()

????2.變量前加上()里面寫上類型,將它轉(zhuǎn)換后賦值給其他變量

????3.settype(變量,類型) 直接改變量本身

我們來進行實驗:
intval()、floatval()、strval()轉(zhuǎn)換

<?php
    $float = 1.23;
    $result = intval($float);
    //看看結(jié)果是不是變了?
    var_dump($result);
    //鴨脖子為整型的5
    $yabozi = 5;
    $re = floatval($yabozi);
    var_dump($re);
    //定義整型的變量
    $yabozi = 23;
    $bian = strval($yabozi);
    //強制變成字符串試試
    var_dump($bian);
?>

變量前加上()里面寫上類型,將它轉(zhuǎn)換后賦值給其他變量

<?php
   //定義一個變量,我們來變化一下試試
   $transfer = 12.8;
   //把浮點變?yōu)檎?    $jieguo = (int)$transfer;
    var_dump($jieguo);
   //把浮點變?yōu)椴紶?   $jieguo = (bool) $transfer;
   var_dump($jieguo);
   //把布爾變整型
   $bool = true;
   $jieguo = (int)$bool;
   var_dump($jieguo);
    //把浮點變數(shù)組
   $fo = 250;
   $jieguo = (array)$fo;
   var_dump($jieguo);
   //其他的操作方式,按照文字總結(jié)的規(guī)律你來試試
?>

settype(變量,類型) 直接改變量本身

<?php
    //定義浮點變?yōu)檎?    $fo = 250.18;
   //settype第二個參數(shù)是int,你實驗的時候要記得第二個參數(shù)要為字符串類型
    settype($fo,'int');
    //輸出看看結(jié)果
    var_dump($fo);
?>

【你試試】以下是強制類型轉(zhuǎn)換時的特點,每一項你做實驗看看對不對:

????1.空轉(zhuǎn)為整型會為整型的0

????2.空轉(zhuǎn)為浮點會為浮點的0

????3.空轉(zhuǎn)為字符串會為空字符串‘’

????4.浮點的123.0轉(zhuǎn)為字符串會為字符串123

????5.浮點的123.2轉(zhuǎn)為字符串會為字符串的123.2

????6.浮點即使小數(shù)點再大,它都會被干掉,會舍掉小數(shù)點后面的值

????7.如果字符串轉(zhuǎn)為整型的時候,如果數(shù)值在前面,會將前面的數(shù)值拿出來做為整型的轉(zhuǎn)換值。

????8.settype(變量,'null'); 等價于 unset()一個變量

????9.$目標變量 = (類型)$操作變量 只會改變目標變量的類型,不會改變原變量的類型,Settype是改變原值

<?php
      //小可愛,記得自己做實驗,驗證上面的9點喲
    $t=12.9;
    settype($t,'int');
    var_dump($t);
?>

set?讀音:[s?t]
解釋:設(shè)置

type?讀音:[ta?p]
解釋:類型、方式


繼續(xù)學習
||
<?php //浮點類型的的0,換成其他值試試 $bool = 0.0; if($bool){ echo '美女美女我愛你'; }else{ echo '鳳姐鳳姐愛死我,執(zhí)行假區(qū)間咯'; } ?>
提交重置代碼