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

PHP開發(fā)基礎(chǔ)教程之?dāng)?shù)據(jù)類型

概括:

PHP 的數(shù)據(jù)類型有8種,分別為:String(字符串), Integer(整型), Float(浮點型), Boolean(布爾型), Array(數(shù)組), Object(對象), NULL(空值), resource(資源)。下面逐一介紹:


一、PHP 字符串

字符串就是一段字符,更通俗的來講就是一段話,這段話可以很長,也可以很短。

1.在PHP里面中有三種聲明字符串的方式

  • 用單引號聲明

用英文半角狀態(tài)下的單引號來把字符串包圍起來

<?php
//聲明字符串變量$str
$str= 'PHP 是一種創(chuàng)建動態(tài)交互性站點的強有力的服務(wù)器端腳本語言';
//輸出字符串
echo $str;
?>
  • 用雙引號聲明

<?php
//聲明字符串變量$str
$str= “PHP 是一種創(chuàng)建動態(tài)交互性站點的強有力的服務(wù)器端腳本語言”;
//輸出字符串
echo $str;
?>
  • 用字界符聲明(需要輸入非常大段的字符串時使用)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
$str = <<<DJ
PHP 是
一種創(chuàng)建動態(tài)交互<br/>
性站點的強有力的服務(wù)器端
    <i>腳本語言</i>
    我想說:<h1>PHP簡介</h1>
DJ;
echo $str;
?>
</body>
</html>

2.雙引號和單引號有什么區(qū)別

  • ?雙引號解析變量,但是單引號不解析變量。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
//聲明變量
$name="小明";
$age="24";
//放入字符串中
$str1="我叫$name ,今年$age 歲,很高興認(rèn)識大家";
$str2='我叫$name ,今年$age 歲,很高興認(rèn)識大家';
//輸出字符串
echo $str1;
echo "<br/>";
echo $str2;
?>
</body>
</html>

通過上面可以得出結(jié)論:雙引號執(zhí)行變量,而單引號不執(zhí)行變量

注:雙引號需要解析變量,因此雙引號的效率沒有單引號高

  • ?在雙引號里面插入變量,變量后面如果有英文或中文字符,它會把這個字符和變量拼接起來,視為一整個變量。一定要在變量后面接上特殊字符,例如空格等分開。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
//聲明變量
$a="php.com";
$str1="$a歡迎您";
$str2="$a 歡迎您";
echo $str1;
echo "<br/>";
echo $str2;
?>
</body>
</html>

從報錯中可以看出,第一個把“a歡迎您”當(dāng)成了一個變量,第二個正常輸出。

  • ?如果在雙引號里面插變量的時候,后面不想有空格,可以拿大括號將變量包起來。

稍微改動下上面的例子

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
//聲明變量
$a="php.com";
$str1="$a 歡迎您";
$str2="{$a}歡迎您";
echo $str1;
echo "<br/>";
echo $str2;
?>
</body>
</html>
  • ?雙引號解析轉(zhuǎn)義字符,單引號不解析轉(zhuǎn)義字符。但,單引號能解析' 和

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
//聲明字符串
$str1 = "改變世界之前\n請先\t改變你自己";
$str2 = '改變世界之前\n請先\t改變你自己';
echo $str1;
echo "<hr/>";
echo $str2;
?>
</body>
</html>

注:關(guān)于“單引號能解析' 和”,大家殼子自己動手嘗試著去做下

  • 單引號效率高于雙引號,盡可能使用單引號

  • 雙號和單引號可以互插?。。‰p引號當(dāng)中插入單引號,單引號當(dāng)中插入變量,這個變量會被解析。

實例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
$a='黃河';
$str="白日依山盡,'$a'入海流";
echo $str;
?>
</body>
</html>

注:大家可以嘗試下雙引號里面套雙引號會出現(xiàn)什么情況

  • 神奇的字符串拼接膠水——(.)點,用來拼接字符串。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
//聲明變量
$name="小明";
$age="24";
//放入字符串中
$str1="我叫$name ,今年$age 歲,很高興認(rèn)識大家";
$str2='我叫$name ,今年$age 歲,很高興認(rèn)識大家';
//輸出字符串
echo $str1;
echo "<br/>";
echo $str2;
?>
</body>
</html>

這是之前的一個例子,前面提到過雙引號能夠解析變量,但是效率沒有單引號高,我現(xiàn)在想既能夠解析變量,又效率高,那就只有依靠(.)來幫助我們了

實例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
//聲明變量
$name="小明";
$age="24";
//放入字符串中
$str='我叫'.$name.' ,今年'.$age.' 歲,很高興認(rèn)識大家';
//輸出字符串
echo $str;
?>
</body>
</html>
  • (.)點還可以用來連接多個字符串

實例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
//聲明變量
$str1 = '白日依山盡<br/>';
$str2 = '黃河入海流<br/>';
$str3 = '欲窮千里目<br/>';
$str4 = '更上一層樓<br/>';
echo $str1.$str2.$str3.$str4;
?>
</body>
</html>
  • 我們將定界符聲明字符串視為雙引號一樣的功能來看待。

實例:

<?php
$a = '宣布對用戶提現(xiàn)收費';
$b = '支付行業(yè)巨頭的收費行動';
$str = <<<DJ
   支付寶
            $a
        這也是\t微信在年初宣布提現(xiàn)收費之后
        又一
            '$b'
        很<br />
       多人\n質(zhì)疑
    <i>互聯(lián)網(wǎng)公司</i>
    所提倡的免費<b>商業(yè)模式</b>難道走到了盡頭
DJ;
echo $str;
?>

大家可以執(zhí)行發(fā)現(xiàn)$,$,tn都可以執(zhí)行,雙引號單引號都能顯示。這就是定界符的特點。

3.關(guān)于字符串的兩個實用的函數(shù)

strlen(字符串)返回字符串的長度(字符數(shù))

strpos(被查找的字符串,查找的字符或者文本)如果在字符串中找到匹配,該函數(shù)會返回第一個匹配的字符位置。如果未找到匹配,則返回 FALSE。

實例:

<?php
//輸出一個字符串的長度
echo strlen("Hello world");
echo "<br/>";
//在字符串 "Hello world!" 中查找文本 "world",字符串中第一個字符的位置是 0,而不是 1。
echo strpos("Hello world","world")
?>

注:字符串中首字符的位置是 0 而不是 1

完整字符串函數(shù),請查看PHP參考手冊


二、PHP 整型

整數(shù)就是一個沒有小數(shù)的數(shù)字。

整數(shù)規(guī)則:

  • ?整數(shù)必須至少有一個數(shù)字 (0-9)

  • ?整數(shù)不能包含逗號或空格

  • ?整數(shù)是沒有小數(shù)點的

  • ?整數(shù)可以是正數(shù)或負(fù)數(shù)

  • ?整型可以用三種格式來指定:十進(jìn)制, 十六進(jìn)制( 以 0x 為前綴)或八進(jìn)制(前綴為 0)。

在以下實例中我們將測試不同的數(shù)字。 PHP var_dump() 函數(shù)返回變量的數(shù)據(jù)類型和值:

注:var_dump() 是一個函數(shù)。向括號()中間插入變量。這個函數(shù),會打印出來數(shù)據(jù)類型,還會對應(yīng)顯示變量的長度和值

實例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
//定義變量
$x = 5985;
$y = -345; // 負(fù)數(shù) 
$z = 0x8C; // 十六進(jìn)制數(shù)
$w = 047; // 八進(jìn)制數(shù)
//輸出變量
var_dump($x);
echo "<br>";
var_dump($y);
echo "<br>"; 
var_dump($z);
echo "<br>";
var_dump($w);
?>
</body>
</html>

三、浮點型

所謂浮點類型,既為我們數(shù)學(xué)里面的小數(shù)。

下面通過實例,測試不同的數(shù)字

實例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php 
//定義變量
$x = 10.365;
$y = 2.4e3;
$z = 8E-5;
//輸出變量
var_dump($x);
echo "<br>"; 
var_dump($y);
echo "<br>"; 
var_dump($z);
?>
</body>
</html>

四、布爾型

所謂布爾,可以理解為事物的兩面性,有真就有假,有對就有錯,當(dāng)前的計算機(jī)系統(tǒng)使用的基本上是二進(jìn)制系統(tǒng),即為0和1的組合

布爾型只有兩個值: TRUE 或 FALSE

$x=true;
$y=false;

常用于條件判斷,在以后的學(xué)習(xí)中,你會經(jīng)常和他打交道。

注:true和false外面不要加引號

類型轉(zhuǎn)換:

一下情況會被轉(zhuǎn)換為false

  • 布爾值=false

  • ?整數(shù)=0

  • ?浮點數(shù)=0.0

  • 空數(shù)組

  • ?沒有變量成語的對象

  • ?變量值為空

其余情況下,基本會被轉(zhuǎn)換為true


五、數(shù)組

上面定義的變量只能存儲一個值,如果想要存儲多個值的話,則就要用到數(shù)組了

在以下實例中創(chuàng)建了一個數(shù)組, 然后使用 PHP var_dump() 函數(shù)返回數(shù)組的數(shù)據(jù)類型和值:

實例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php 
//定義變量
$fruits=array("蘋果","香蕉","梨子");
//輸出變量
var_dump($fruits);
echo gettype($fruits);
?>
</body>
</html>

大家先對數(shù)組有個了解,掌握基本聲明一個數(shù)組,判斷是否是數(shù)組類型,其他的在后面有專門一章來討論數(shù)組。


六、對象

  • 對象數(shù)據(jù)類型也可以用于存儲數(shù)據(jù)。

  • ?在 PHP 中,對象必須聲明。

  • 首先,你必須使用class關(guān)鍵字聲明類對象。類是可以包含屬性和方法的結(jié)構(gòu)。

  • ?然后我們在類中定義數(shù)據(jù)類型,然后在實例化的類中使用數(shù)據(jù)類型:

來看個實例:

<?php
//定義一個Car 類
class Car
{
  var $color;
  function Car($color="green") {
    $this->color = $color;
  }
  function what_color() {
    return $this->color;
  }
}
//實例化Car類
$car = new Car;
//輸出查看類型
var_dump($car);
?>

對象這個暫時大家不用深究,以后會慢慢了解,暫時只要看到這個object知道是對象就可以了。


七、空值

NULL 值表示變量沒有值。NULL 是數(shù)據(jù)類型為 NULL 的值???null)不是false,不是0,也不是空格。

1.null 產(chǎn)生的三種情況:

  • 通過變量賦值明確指定為變量的值為NULL

  • 一個變量沒有給任何值

  • ?使用函數(shù)unset()將變量銷毀掉

實例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
//聲明變量為null
$n = null;
var_dump($n);
//var_dump顯示輸出變量$meiyou,看看結(jié)果是什么?
var_dump($a);
//聲明一個變量$b的值為字符串的手機(jī)
$b = '手機(jī)';
//unset銷毀掉一個變量
unset($b);
var_dump($b);
?>
</body>
</html>

2.empty和isset 兩個函數(shù)的區(qū)別

  • empty()函數(shù)

empty()可以向括號中間傳入一個變量。這個變量的值如果為false或者為null的話,返回true。

實例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
$a=null;
if(empty($a)){
	echo '這個變量是空';
}else{
	echo '這個變量不是空';
}
?>
</body>
</html>

當(dāng)$a=null 時empty返回true。

  • ?isset()函數(shù)

isset()可以向括號中間傳入一個或者多個變量,變量與變量間用逗號分開。只要有有一個變量為null,則返回false。否則,則返回true。

實例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>php.cn</title>
</head>
<body>
<?php
//傳入一個變量
$a=false;
$b=isset($a);
var_dump($b);
echo "<hr/>";
//傳入多個變量
$b=10;
$c=false;
$d=null;
$e=isset($b,$c,$d);
var_dump($e);
echo PHP_VERSION;
echo __LINE__;
?>
</body>
</html>

注:unset()這個函數(shù)的功能是毀掉變量。unset(變量)括號中間插入想要毀掉的變量名,這個變量就會被毀掉,大家可以自己動手銷毀,然會用var_dump()函數(shù)說出來看看效果。


八、資源類型

資源類型很多初學(xué)者覺得比較難以理解。因為資源類型打印出來只能夠看到一個英文的resource。其他的什么在電腦上都不能顯示出來,而他有客觀存在。

其實,資源類型很簡單。我們針對詞來進(jìn)行說明。

電腦里面的資源是指:

  • ?word,excel等文件

  • ?有人收藏的美女圖片和我們的自拍照片等圖片

  • ?音樂

  • ?某些人愛看的AVI小電影

  • ?打開的網(wǎng)頁

  • 數(shù)據(jù)庫
    ... ...等等

我們打開一個圖片,用PHP來操作它,我們就是操作的一個資源。
我們打開的數(shù)據(jù)庫連接,我們需要連接數(shù)據(jù)庫,數(shù)據(jù)庫就是我們操作的資源。
包括網(wǎng)絡(luò)連接,連接后發(fā)送郵件,我們也可以認(rèn)為是一個資源。

注:理解資源就提操作我們可見和不可見的文件、網(wǎng)絡(luò)和數(shù)據(jù)。我們在以后的章節(jié)中,操作圖片和網(wǎng)絡(luò)的時候大家會有更為深刻的印象。


九、查看和判斷數(shù)據(jù)類型

1.查看數(shù)據(jù)類型

在以后的學(xué)習(xí)和工作中,進(jìn)行需要知道一個數(shù)據(jù)的數(shù)據(jù)類型,通過以下兩個函數(shù)可以知道

  • gettype(傳入一個變量) 能夠獲得變量的類型

  • ?var_dump(傳入一個變量) 輸出變類型和值

實例:

<?php
//聲明變量,輸出其類型
$str = 9.99;
$type = gettype($str);
echo $type;
echo "<br/>";
$str1 = true;
$type1 = gettype($str1);
echo $type1;
echo "<br/>";
//聲明變量,輸出其類型和值
$str2 = "霸都";
var_dump($str2);
echo "<br/>";
$arr = array(1,23,4);
var_dump($arr);
?>

注:大家可以再嘗試輸出下其他幾種類型

2.判斷數(shù)據(jù)類型

我們使用is_* 系列函數(shù)。 is_types這一系列的函數(shù),來進(jìn)行判斷某個東西是不是某個類型。如果是這個類型返回真,不是這個類型返回假。

  • ?is_int 是否為整型

  • ?is_bool 是否為布爾

  • ?is_float 是否是浮點

  • ?is_string 是否是字符串

  • ?is_array 是否是數(shù)組

  • ?is_object 是否是對象

  • ?is_null 是否為空

  • ?is_resource 是否為資源

  • ?is_scalar 是否為標(biāo)量

  • ?is_numeric 是否為數(shù)值類型

  • ?is_callable 是否為函數(shù)

實例:

<?php
$fo = false;
var_dump(is_bool($fo));
var_dump(is_null($fo));
$str='18.8';
var_dump(is_string($str));
?>

注:大家可以嘗試其他幾個,看看輸出結(jié)果

繼續(xù)學(xué)習(xí)
||
<?php //聲明字符串變量$str $str= 'PHP 是一種創(chuàng)建動態(tài)交互性站點的強有力的服務(wù)器端腳本語言'; //輸出字符串 echo $str; ?>
提交重置代碼