程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP編程經常容易記亂的知識,PHP編程知識

PHP編程經常容易記亂的知識,PHP編程知識

編輯:關於PHP編程

PHP編程經常容易記亂的知識,PHP編程知識


PHP經常容易記亂的知識

 

  1.echo和print的區別

 

  PHP中echo和print的功能基本相同(輸出),但是兩者之間還是有細微差別的。echo輸出後沒有返回值,但print有返回值,當其執行失敗時返回flase。因此可以作為一個普通函數來使用,例如執行下面的代碼後變量$r的值將為1。

 

  $r = print "Hello World";

 

  這意味著print可用在一些復雜的表達式中,而echo則不行。但是,因為echo語句不要求返回任何數值,所已在代碼中echo語句的運行效率要略微快於print語句。

 

  2.include與require的區別

 

  include()與require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有條件包含函數,而require()則是無條件包含函數。例如在下面代碼中,如果變量$a為真,則將包含文件a.php:

 

  if($a){

 

  include("a.php");

 

  }

 

  而require()則和include()不同,不管$a取何值,下面的代碼將把文件a.php包含進文件裡:

 

  if($a){

 

  require("a.php");

 

  }

 

  在錯誤處理方面,使用include語句,如果發生包含錯誤,程序將跳過include語句,雖然會顯示錯誤信息但是程序還是會繼續執行!但requre卻會給你來個致命錯誤。

 

  當然,從字面意思上我們也可以理解七分:requre是很強硬的請求、要求的意思。

 

  3.require_once()和include_once()語句

 

  題外話了,因為長的像,簡單require_once()和include_once()語句分別對應於require()和include()語句。require_once() 和include_once()語句主要用於需要包含多個文件時,可以有效地避免把同一段代碼包含進去而出現函數或變量重復定義的錯誤。

 

  4.空字符串('')和NULL的區別

 

  PHP中空字符串和NULL都是以值為0存儲的,但是他們的類型並不一樣,你可以試一下echo gettype('');和echo gettype(NULL);你會發現他們打印出來的分別是string和NULL,當然還有0也容易混淆,你可以試試echo gettype(0);打印一下類型,會發現0的類型是integer(整型),可見字符串('')、NULL和0是“等值”但不等類型。

 

  5.isset和 empty的區別

 

  從字面意思上我們就可以明白:empty是判斷一個變量是否為“空”,而isset 則是判斷一個變量是否已經設置。但是這裡有一點絕對要注意起來:當一個變量值為0,empty 認為這個變量同等於空,即相當於沒有設置。比如當我們檢測$id 變量的時候,當$id=0 ,用empty和isset來檢測變量$id是否已經配置,兩都將返回不同的值:empty 認為沒有配置,isset 則能夠取得 $id 的值,看下邊例子:

 

  $id=0;

 

  empty($id)?print "我是空的":print "我是$id ."; //結果:我是空的

 

  !isset($id)?print "我是空的":print "我是$id .";//結果:我是0

 

  6.==(等)和===(恆等)的區別

 

  回顧上面第四條空字符串("")和NULL的區別,再來看一個例子:

 

  '' == NULL;

 

  '' === NULL;

 

  運行之後你會發現第一個為true,而第二個則為false!可見==只是比較值是否相等,而===則不但比較值,還會比較類型,更為嚴格。

 

  7.self :: 和 this-> 的區別

 

  在訪問PHP類中的成員變量或方法時,如果被引用的變量或者方法被聲明成const(定義常量)或者static(聲明靜態),那麼就必須使用操作符::,反之如果被引用的變量或者方法沒有被聲明成const或者static,那麼就必須使用操作符->。

 

  另外,如果從類的內部訪問const或者static變量或者方法,那麼就必須使用自引用的self,反之如果從類的內部訪問不為const或者static變量或者方法,那麼就必須使用自引用的$this。

 

  8.strstr() 與 strpos() 的區別

 

  stristr() 不區分大小寫 strstr() 區分大小寫

 

  函數查找字符串在另一個字符串中第一次出現的位置。

 

  如果成功,則返回字符串的其余部分(從匹配點)。如果沒有找到該字符串,則返回 false。

 

  stripos() 不區分大小寫 strpos() 區分大小寫

 

  函數返回字符串在另一個字符串中第一次出現的位置。

 

  如果沒有找到該字符串,則返回 false。

 

  經測試證明如果只是單純查找判斷是否存在則strpos()的執行效率要大於strstr()

 

  9.PHP中 HTTP_HOST 和 SERVER_NAME

 

  相同點:

 

  當滿足以下三個條件時,兩者會輸出相同信息。

 

  1. 服務器為80端口

 

  2. apache的conf中ServerName設置正確

 

  3. HTTP/1.1協議規范

 

  不同點:

 

  1. 通常情況:

 

  _SERVER["HTTP_HOST"] 在HTTP/1.1協議規范下,會根據客戶端的HTTP請求輸出信息。

 

  _SERVER["SERVER_NAME"] 默認情況下直接輸出apache的配置文件httpd.conf中的ServerName值。

 

  2. 當服務器為非80端口時:

 

  _SERVER["HTTP_HOST"] 會輸出端口號,例如:mimiz.cn:8080

 

  _SERVER["SERVER_NAME"] 會直接輸出ServerName值

 

  因此在這種情況下,可以理解為:HTTP_HOST = SERVER_NAME : SERVER_PORT

 

  3. 當配置文件httpd.conf中的ServerName與HTTP/1.0請求的域名不一致時:

 

  httpd.conf配置如下:

 

  ServerName pprar.com

 

  ServerAlias http://www.pprar.com 

 

  客戶端訪問域名http://www.pprar.com

 

  _SERVER["HTTP_HOST"] 輸出 http://www.pprar.com

 

  _SERVER["SERVER_NAME"] 輸出 pprar.com

 

  所以,在實際程序中,應盡量使用_SERVER["HTTP_HOST"] ,比較保險和可靠。

 

  如果在端口映射的情況下,並且在內網訪問,用“$_SERVER['HTTP_X_FORWARDED_HOST']”比較好。

 


PHP編程入門容易?對於我這樣對編程一竅不通的人來說該怎快速入門可以夠建站?

對於有基礎的人 (比如大學很多人都學過C) PHP的確不難
PHP最開始開發出來的目的就是快速開發 不像Java那樣一堆框架
但對於你這種情況 完全沒接觸過高級編程語言
難的是入門 畢竟html css這樣的前端語言 跟高級語言比 差別還是非常大的
建議如果有條件 可以找周圍會的朋友稍微給你講下基礎的編程思想
變量啊 循環啊 以及數組啊 對象啊 函數啊 什麼的基礎知識
然後買本PHP入門 或者網上下載一本 看你習慣 跟著謝謝簡單的代碼
感覺基礎知識差不多後 下些規范的源碼 看看別人怎麼寫的代碼 上上技術論壇
然後再自己開始編寫自己的網站 就差不多了

更進步的發展就是以後的事情了 什麼面相對象 什麼設計模式 什麼框架 這都是基礎熟練後
進一步發展才用到的 開始不必在意
 

php編程中可以找到好的工作

你那是不行的,需要借助php標簽,或者直接在php代碼中處理,給你個例子:
<td width="500" height="450" bgcolor="#FFCC99">
<?php
$result = mysql_query("SELECT * FROM treename WHERE treeID=1"); //此句sql語法有誤
$path = trim($result[1]);
$name = trim($result[2]);
$ext = trim($result[3]);
$picSrc = ""; //這個在你這有點多余了,直接下面的就行了
$picSrc =$picSrc.$path.$name.$ext;
echo"<img name='myPic' src='".$picSrc."' width='500'>";
?>
</td>
第二種:
<td width="500" height="450" bgcolor="#FFCC99">
<?php
$result = mysql_query("SELECT * FROM treename WHERE treeID=1"); //此句sql語法有誤
$path = trim($result[1]);
$name = trim($result[2]);
$ext = trim($result[3]);
$picSrc = ""; //這個在你這有點多余了,直接下面的就行了
$picSrc =$picSrc.$path.$name.$ext;
?>
<img name="myPic" src="<?php echo $picSrc; ?>" width="500">
</td>
希望能給你起到拋磚引玉的效果!!

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved