溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

php中echo和print的區(qū)別以及數(shù)據(jù)類(lèi)型有哪些

發(fā)布時(shí)間:2021-09-04 18:18:13 來(lái)源:億速云 閱讀:165 作者:chen 欄目:開(kāi)發(fā)技術(shù)

本篇內(nèi)容主要講解“php中echo和print的區(qū)別以及數(shù)據(jù)類(lèi)型有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“php中echo和print的區(qū)別以及數(shù)據(jù)類(lèi)型有哪些”吧!

php基礎(chǔ)部分

php中echo和print的區(qū)別以及數(shù)據(jù)類(lèi)型有哪些

PHP 輸出文本的基礎(chǔ)指令:echoprint

echo和print的區(qū)別

echo是PHP語(yǔ)句, printprint_r是函數(shù),語(yǔ)句沒(méi)有返回值,函數(shù)可以有返回值(即便沒(méi)有用)

echo 輸出一個(gè)或者多個(gè)字符串。
print 只能打印出簡(jiǎn)單類(lèi)型變量的值(如int,string)
print_r 可以打印出復(fù)雜類(lèi)型變量的值(如數(shù)組,對(duì)象)

var_dump和print_r的區(qū)別

var_dump返回表達(dá)式的類(lèi)型和值,而print_r僅返回結(jié)果,相比調(diào)試代碼使用var_dump更便于閱讀。

變量

變量用于存儲(chǔ)值,比如數(shù)字、文本字符串或數(shù)組。PHP 中的所有變量都是以 $ 符號(hào)開(kāi)始的。
PHP 變量名稱(chēng)對(duì)大小寫(xiě)敏感!

PHP 有三種不同的變量作用域:

local(局部)
global(全局)
static(靜態(tài))

函數(shù)之外聲明的變量擁有 Global 作用域,只能在函數(shù)以外進(jìn)行訪問(wèn)。

函數(shù)內(nèi)部聲明的變量擁有 LOCAL 作用域,只能在函數(shù)內(nèi)部進(jìn)行訪問(wèn)。

global 關(guān)鍵詞用于訪問(wèn)函數(shù)內(nèi)的全局變量。

PHP static 關(guān)鍵詞

通常,當(dāng)函數(shù)完成/執(zhí)行后,會(huì)刪除所有變量。不過(guò),有時(shí)我需要不刪除某個(gè)局部變量。實(shí)現(xiàn)這一點(diǎn)需要更進(jìn)一步的工作。

要完成這一點(diǎn),請(qǐng)?jiān)谀状温暶髯兞繒r(shí)使用 static 關(guān)鍵詞:

<?php    
function myTest() {
   static $x=-1;
   echo $x;
   $x--;
}
myTest();//-1
echo "<br>";
myTest();//-2
echo "<br>";
myTest();//-3
?>

php類(lèi)型

php類(lèi)型:**PHP 支持八種原始類(lèi)型。**

php中echo和print的區(qū)別以及數(shù)據(jù)類(lèi)型有哪些

布爾型

要指定一個(gè)布爾值,使用關(guān)鍵字 TRUE 或 FALSE。兩個(gè)都是大小寫(xiě)不敏感的。

整型

我們可以使用(int)來(lái)將小數(shù)強(qiáng)制類(lèi)型轉(zhuǎn)換成整數(shù)。

<?php
    var_dump((int)(26/3));//int(8)
?>

數(shù)組

php中有三種數(shù)組:

索引數(shù)組:就是下標(biāo)是順序整數(shù)作為作為索引(比如第幾排第幾列)$class[5]
關(guān)聯(lián)數(shù)組:就是下標(biāo)是字符串作為索引(比如名字)$class2["zhangsan"]
多維數(shù)組 - 包含一個(gè)或多個(gè)數(shù)組的數(shù)組

下標(biāo)要嘛是整數(shù),要么是字符串。

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);
// 自 PHP 5.4 起
$array = [
    "foo" => "bar",
    "bar" => "foo",
];
?>

數(shù)組單元可以通過(guò) array[key] 語(yǔ)法來(lái)訪問(wèn)。
Note: 這并不意味著總是給鍵名加上引號(hào)。用不著給鍵名為常量或變量的加上引號(hào),否則會(huì)使 PHP 不能解析它們。

數(shù)組運(yùn)算符

例子名稱(chēng)結(jié)果$a + $b 聯(lián)合 $a 和 $b 的聯(lián)合$a == $b 相等 如果 $a 和 $b 具有相同的鍵/值對(duì)則為 TRUE$a === $b 全等 如果 $a 和 $b 具有相同的鍵/值對(duì)并且順序和類(lèi)型都相同則為 TRUE$a != $b 不等 如果 $a 不等于 $b 則為 TRUE$a <> $b 不等 如果 $a 不等于 $b 則為 TRUE$a !== $b 不全等 如果 $a 不全等于 $b 則為 TRUE




+ 運(yùn)算符把右邊的數(shù)組元素附加到左邊的數(shù)組后面,兩個(gè)數(shù)組中都有的鍵名,則只用左邊數(shù)組中的,右邊的被忽略。

對(duì)象

要初始化一個(gè)對(duì)象,用 new 語(yǔ)句將對(duì)象實(shí)例到一個(gè)變量中。

常用函數(shù)

strlen() 函數(shù)用于計(jì)算字符串的長(zhǎng)度。
strpos() 函數(shù)用于在字符串內(nèi)檢索一段字符串或一個(gè)字符。

常量

可以用 define() 函數(shù)來(lái)定義常量。一個(gè)常量一旦被定義,就不能再改變或者取消定義。
常用的魔術(shù)常量:

php中echo和print的區(qū)別以及數(shù)據(jù)類(lèi)型有哪些

定義常量例子:

<?php
define("poems" , "Homeric epic");
echo poems ;//outputs "Homeric epic"
?>

php字符串運(yùn)算符

在 PHP 中,只有一個(gè)字符串運(yùn)算符。
并置運(yùn)算符 (.) 用于把兩個(gè)字符串值連接起來(lái)。如:echo "a= ".$a."<br>";
左邊將字符串文字"a="與變量$a的值連接,第二處是與換行符"<br>"連接

php函數(shù)

函數(shù)只有在被調(diào)用時(shí)才會(huì)被執(zhí)行,這點(diǎn)和js是一樣的,同樣,函數(shù)定義也是以function關(guān)鍵字開(kāi)頭的。

<?php
    function sum($x,$y){
        $z=$x + $y;
        return $z;
    }
    echo "-2+10= ".sum(-2,10);//outputs "-2+10=8"
?>

當(dāng)沒(méi)有return語(yǔ)句時(shí),以上將會(huì)變成"-2+10=";

流程控制

在這里,只講下foreach語(yǔ)句。

foreach語(yǔ)句遍歷輸出數(shù)組:
語(yǔ)法:

foreach (array_expression as $value){ statement};
foreach (array_expression as $key => $value){ statement};

參數(shù)array_expression是指定要遍歷的數(shù)組,$value是數(shù)組的值

<?php
     $actors [0] ="Marry";
     $actors [1] ="Lorry";
     $actors [2] = "mike";
     foreach ($actors as $values){
     echo "Name:$values<br>";
}
?>

以上代碼將輸出:
Name:Marry
Name:Lorry
Name:mike

兩個(gè)重要的魔術(shù)方法

    1. __set( )方法:這個(gè)方法用來(lái)為私有成員屬性設(shè)置值的,有兩個(gè)參數(shù),第一個(gè)參數(shù)為你  要為設(shè)置值的屬性名,第二個(gè)參數(shù)是要給屬性設(shè)置的值,沒(méi)有返回值。
    2. __get()方法:這個(gè)方法用來(lái)獲取私有成員屬性值的,有一個(gè)參數(shù),參數(shù)傳入你要獲取的成員屬性的名稱(chēng),返回獲取的屬性值,這個(gè)方法不用我們手工的去調(diào)用

php中方法不區(qū)分大小寫(xiě)

require(dirname(__FILE__).'/global.php'); //引入全局文件
require(dirname(__FILE__).'/config.ini.php'); //引入基本配置文件

對(duì)象運(yùn)算符和雙冒號(hào)運(yùn)算符

在類(lèi)的成員方法里面,可以用 ->(對(duì)象運(yùn)算符):$this->property(其中 property 是該屬性名)這種方式來(lái)訪問(wèn)非靜態(tài)屬性。
靜態(tài)屬性則是用 ::(雙冒號(hào)):self::$property 來(lái)訪問(wèn)。

=>和->

=>數(shù)組成員訪問(wèn)符號(hào),->對(duì)象成員訪問(wèn)符號(hào);
$this->$name=$value:將當(dāng)前類(lèi)的name變量的值設(shè)為$value;
$this代表了類(lèi)本身,->是訪問(wèn)其類(lèi)成員的操作符
雙冒號(hào)運(yùn)算符(::)類(lèi)名::靜態(tài)屬性/方法
::”用來(lái)調(diào)用類(lèi)中靜態(tài)的屬性和方法

include():包含外部文件,語(yǔ)法格式為 include(string filename);
require():會(huì)輸出錯(cuò)誤信息,終止腳本
include_once():多次調(diào)用相同文件時(shí),程序只會(huì)調(diào)用一次
require_once():先檢查文件是否在其他地方被調(diào)用過(guò)
array_pop():獲取并返回?cái)?shù)組中的最后一個(gè)元素
count():統(tǒng)計(jì)數(shù)組中的元素個(gè)數(shù)
array_search():獲取數(shù)組中元素的鍵名
$array_keys():獲取數(shù)組中重復(fù)元素的所有鍵名

單引號(hào)和雙引號(hào)

PHP把單引號(hào)中的數(shù)據(jù)視為普通字符串,不再處理。而雙引號(hào)還要對(duì)其中的字符串進(jìn)行處理

get和post

$_GET[ ]和$_POST[ ]全局?jǐn)?shù)組:分別用來(lái)接收GET和POST方法傳遞到當(dāng)前頁(yè)面的數(shù)據(jù)?!癧 ]”里面是name.

php參數(shù)傳遞常用的方法有3種:$_POST[ ]、$_GET[ ]、$_SESSION[ ],分別用于獲取表單、URL與Session變量的值。

表單提交中g(shù)et和post方式的區(qū)別歸納如下幾點(diǎn):

GET是從服務(wù)器上獲取數(shù)據(jù),POST是向服務(wù)器傳送數(shù)據(jù)。
GET 是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個(gè)字段一一對(duì)應(yīng),在URL中可以看到。POST是通過(guò)HTTP POST機(jī)制,將表單內(nèi)各個(gè)字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶(hù)看不到這個(gè)過(guò)程。
對(duì)于GET方式,服務(wù)器端用Request.QueryString獲取變量的值,對(duì)于POST方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。
GET傳送的數(shù)據(jù)量較小,不能大于2KB(這主要是因?yàn)槭躑RL長(zhǎng)度限制)。POST傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,限制取決于服務(wù)器的處理能力。
GET 安全性較低,POST安全性較高。因?yàn)镚ET在傳輸過(guò)程,數(shù)據(jù)被放在請(qǐng)求的URL中,而如今現(xiàn)有的很多服務(wù)器、代理服務(wù)器或者用戶(hù)代理都會(huì)將請(qǐng)求URL記 錄到日志文件中,然后放在某個(gè)地方,這樣就可能會(huì)有一些隱私的信息被第三方看到。另外,用戶(hù)也可以在瀏覽器上直接看到提交的數(shù)據(jù),一些系統(tǒng)內(nèi)部消息將會(huì)一 同顯示在用戶(hù)面前。POST的所有操作對(duì)用戶(hù)來(lái)說(shuō)都是不可見(jiàn)的。

在FORM提交的時(shí)候,如果不指定Method,則默認(rèn)為 GET請(qǐng)求(.net默認(rèn)是POST),F(xiàn)orm中提交的數(shù)據(jù)將會(huì)附加在url之后,以?分開(kāi)與url分開(kāi)。字母數(shù)字字符原樣發(fā)送,但空格轉(zhuǎn)換為“+” 號(hào),其它符號(hào)轉(zhuǎn)換為%XX,其中XX為該符號(hào)以16進(jìn)制表示的ASCII(或ISO Latin-1)值。GET請(qǐng)求請(qǐng)?zhí)峤坏臄?shù)據(jù)放置在HTTP請(qǐng)求協(xié)議頭中,而POST提交的數(shù)據(jù)則放在實(shí)體數(shù)據(jù)中;GET方式提交的數(shù)據(jù)最多只能有2048字節(jié),而POST則沒(méi)有此限制。POST傳遞的參數(shù)在doc里,也就http協(xié)議所傳遞的文本,接受時(shí)再解析參數(shù)部分。獲得參數(shù)。一般用POST比較好。POST提交數(shù)據(jù)是隱式的,GET是通過(guò)在url里面?zhèn)鬟f的,用來(lái)傳遞一些不需要保密的數(shù)據(jù),GET是通過(guò)在URL里傳遞參數(shù),POST不是。

1.GET請(qǐng)求的數(shù)據(jù)會(huì)附在URL之后(就是把數(shù)據(jù)放置在HTTP協(xié)議頭中),以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連

2.GET方式提交的數(shù)據(jù)最多只能是1024字節(jié),理論上POST沒(méi)有限制,可傳較大量的數(shù)據(jù),IIS4中最大為80KB,IIS5中為100KB

HTTP狀態(tài)碼

php中echo和print的區(qū)別以及數(shù)據(jù)類(lèi)型有哪些

cookie和session區(qū)別

cookie的內(nèi)容主要包括:名字,值,過(guò)期時(shí)間,路徑和域。路徑與域一起構(gòu)成cookie的作用范圍。若不設(shè)置過(guò)期時(shí)間,則表示這
個(gè)cookie的生命期為瀏覽器會(huì)話(huà)期間,關(guān)閉瀏覽器窗口,cookie就消失。這種生命期為瀏覽器會(huì)話(huà)期的cookie被稱(chēng)為會(huì)話(huà)cookie。
會(huì)話(huà)cookie一般不存儲(chǔ)在硬盤(pán)上而是保存在內(nèi)存里,當(dāng)然這種行為并不是規(guī)范規(guī)定的。若設(shè)置了過(guò)期時(shí)間,瀏覽器就會(huì)把cookie
保存到硬盤(pán)上,關(guān)閉后再次打開(kāi)瀏覽器,這些cookie仍然有效直到超過(guò)設(shè)定的過(guò)期時(shí)間。

當(dāng)程序需要為某個(gè)客戶(hù)端的請(qǐng)求創(chuàng)建一個(gè)session時(shí),服務(wù)器首先檢查這個(gè)客戶(hù)端的請(qǐng)求里是否已包含了一個(gè)session標(biāo)識(shí)
(稱(chēng)為session id),如果已包含則說(shuō)明以前已經(jīng)為此客戶(hù)端創(chuàng)建過(guò)session,服務(wù)器就按照session id把這個(gè)session檢索出來(lái)
使用(檢索不到,會(huì)新建一個(gè)),如果客戶(hù)端請(qǐng)求不包含session id,則為此客戶(hù)端創(chuàng)建一個(gè)session并且生成一個(gè)與此session相
關(guān)聯(lián)的session id,session id的值應(yīng)該是一個(gè)既不會(huì)重復(fù),又不容易被找到規(guī)律以仿造的字符串,這個(gè)session id將被在本次響應(yīng)
中返回給客戶(hù)端保存。保存這個(gè)session id的方式可以采用cookie,這樣在交互過(guò)程中瀏覽器可以自動(dòng)的按照規(guī)則把這個(gè)標(biāo)識(shí)發(fā)送給
服務(wù)器。
1、cookie數(shù)據(jù)存放在客戶(hù)的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。
2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙
考慮到安全應(yīng)當(dāng)使用session。
3、session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問(wèn)增多,會(huì)比較占用你服務(wù)器的性能
考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用COOKIE。
4、單個(gè)cookie保存的數(shù)據(jù)不能超過(guò)4K,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie。
5、所以個(gè)人建議:
將登陸信息等重要信息存放為SESSION
其他信息如果需要保留,可以放在COOKIE中

php代碼規(guī)范

1.變量賦值必須保持相等間距和排列

2.每行結(jié)尾不允許有多余的空格

3.確保文件的命名和調(diào)用大小寫(xiě)一致,是由于類(lèi)Unix系統(tǒng)上面,對(duì)大小寫(xiě)是敏感的

4.方法名只允許由字母組成,下劃線(xiàn)是不允許的,首字母要小寫(xiě),其后每個(gè)單詞首字母要大寫(xiě)

5.屬性的命名只允許由字母組成,下劃線(xiàn)是不允許的??

6.對(duì)于對(duì)象成員的訪問(wèn),我們必須始終使用“get"和"set"方法

7.當(dāng)類(lèi)成員方法被聲明為private時(shí),必須以雙下劃線(xiàn)"__"開(kāi)頭;被聲明為protected時(shí),必須以單下劃線(xiàn)"_"開(kāi)頭;聲明為public的成員屬性則在任何時(shí)候都不允許含有下劃線(xiàn)。

8.如果我們需要把一些經(jīng)常使用的方法定義為全局函數(shù),那么應(yīng)該把它們以靜態(tài)(static)的形式定義在類(lèi)中

9.函數(shù)的命名使用小寫(xiě)和下劃線(xiàn),應(yīng)該能夠描述清楚該函數(shù)的功能。

10.Boolean值和null值都采用小寫(xiě)。

11.當(dāng)一個(gè)字符串是純文本組成的時(shí)候(即不含有變量),則必須總是以單引號(hào)(')作為定界符

12.使用array類(lèi)型聲明關(guān)聯(lián)數(shù)組的時(shí)候,應(yīng)將它分成多行,保證每行的鍵與值的對(duì)齊

13.類(lèi)中所有代碼都必須用四個(gè)空格進(jìn)行縮進(jìn)

14.不允許用var來(lái)聲明變量,類(lèi)成員變量必須以private,protected和public來(lái)聲明。通常用get和set方法來(lái)訪問(wèn)類(lèi)成員。

15.方法必須總是用private,protected或者public來(lái)聲明其作用域

16.在函數(shù)或方法名與參數(shù)括號(hào)之間不允許出現(xiàn)多余的空格

到此,相信大家對(duì)“php中echo和print的區(qū)別以及數(shù)據(jù)類(lèi)型有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI