1. PHP 中陣列的使用
以上就介紹了merry merry christmas PHP 和 MySQL 開發的 8 個技巧,包括了merry merry christmas方面的內容,希望對PHP教程有興趣的朋友有所幫助。
在操作資料庫時,使用關聯陣列(associatively-indexed arrays)十分有幫助,下面我們看一個基本的數字格式的陣列遍歷:
$ temp[0] = "richmond";
$temp[1] = "tigers";
$temp[2] = "premiers";
for($x=0;$x
echo $temp[$x];
echo " ";
}
然而為:
$temp = array("richmond", "tigers", "premiers");
foreach ($temp as"$ 🎜>?>
foreach 也能輸出文字下標:
$temp = array("club" => "richmond",
"aim" => "premiers");
foreach ($temp as $key => $value)
echo "$, :?$value)
echo "$中描述了大約 50 個用來處理陣列的函數。
2. 在 PHP 字串中加入變數
這個很簡單的:
$temp = "hello"
echo "$
但要說明的是,雖然以下的範例沒有錯誤:
$temp = array("one" => 1, "two" => 2); echo "The first element is $temp[one].";
?>
但如果短語沒有雙號寫字號因此建議使用花括號:
$temp = array("one" => 1, "two" => 2);
echotemp The "]}.";
?>
3. 採用關聯陣列存取查詢結果
看下面的範例:
$connection
$connection
$connection albert", "shhh");
mysql_select_db("winestore", $connection);
$result = mysql_query("SELECT cust_id, omername,$com); 🎜> while ($row = mysql_fetch_array($result))
{
echo "ID:t{$row["cust_id"]}n";
echo "Ssurname.$. n";
echo "First name:t{$row["firstname"]}nn";
}
?>
my_fetch_array() 將查詢結果放入可查詢結果同時用兩種方式引用,例如 cust_id 可以同時使用以下兩種方式:$row["cust_id"] 或$row[0] 。顯然,前者的可讀性比後者好多了。
在多表連查中,如果兩個欄位名字一樣,最好用別名分開:
SELECT winery.name AS wname,
region.name AS rname 🎜>WHERE winery.region_id = region.region_id;
列名的引用為:$row["wname"] 和 $row["rname"]。
在指定表名和列名的情況下,只引用列名:
SELECT winery.region_id
FROM winery
列名的引用為: id$
聚集函數的引用就是引用名稱:
SELECT count(*)
FROM customer;
列名的引用為: $row["count(*)"]。
4. 注意常見的 PHP bug
常見的 PHP 糾錯問題是:
No page rendered by the Web the "Document Contains No Data"
A partial page when more is expected
出現這些情況的大多數原因並不在於腳本的邏輯,而是 HTML 中存在的 或腳本產生的bug HTML 例如缺少類似 , , 之類的關閉 Tag,頁面就不能刷新。解決這個問題的辦法就是,看看 HTML 的原始碼。
對於複雜的,不能查到原因的頁面,可以透過 W3C 的頁面校驗程式 http://validator.w3.org/ 來分析。
如果沒有定義變量,或是變數定義錯誤也會讓程式變得古怪。例如下面的死迴圈:
for($counter=0; $countermyFunction();
,而 $counter 永遠小於 10。這類錯誤一般都能透過設定較高的錯誤回報等級來找到:
error_reporting(E_ALL);
for($counter=0; $countermyFunction();
?>
5. 採用 header() 函數處理單一元件查詢
在許多 Web 資料庫應用程式中,其中某些功能往往讓使用者點擊一個連線後,繼續停留在目前頁面後,繼續停留在目前頁面後,繼續停留在目前頁面後,繼續停留在目前頁面上,這樣的工作我叫它「單部件查詢」。
下面是一個叫做 calling.php 的腳本:
HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN" .org/TR/html4/loose.dtd" >
Click here!
使用者點選上方的連線時,就去呼叫 action. php。以下是 action.php 的來源碼:
// 資料庫功能
// 重定向
header("Location: $TP_REFFERER"); >
這裡有兩個常見的錯誤需要提醒一下:
呼叫 header() 函數後要包含一個 exit 語句讓腳本停止,否則後續的腳本可能會在頭部傳送前輸出。
header() 函數常見的一個錯誤是:
Warning: Cannot add header information - headers already sent...
header() 前面可能存在的空行,空格等等。
6. reload 的問題及其解決
我以前在寫 PHP 程式時,並且經常碰到頁面刷新時,資料庫多處理一次的情況。
我們來看看 addcust.php:
$query = "INSERT INTO customer
SET = mysql_connect("localhost", "fred", "shhh");
mysql_select_db("winestore", $connection);
>HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html4/loose.o.dto>
?>
假設我們用下面的連結使用這個程式:
http://www.freelamp.com/addcust. ... &firstname=Fred 🎜>如果這個請求只提交一次,OK ,不會有問題,但是如果多次刷新,你就會有多筆記錄插入。
這個問題可以透過 header() 函數來解決:以下是新版本的 addcust.php:
$query = "INSERT INTO customercom firstname = $firstname";
$connection = mysql_connect("localhost", "fred", "s值");
mysql_select_db("winestore",$con , $connection);
header("Location: cust_receipt.php");
?>
這個腳本把瀏覽器重定向到一個新的頁面:cust_receipt.php:🎜>這個腳本把瀏覽器重新導向到一個新的頁面:cust_receipt.php: HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" > 🎜>
I've inserted
這樣,原來的頁面繼續刷新也沒有副作用了。
7. 巧用鎖定機制來提高應用效能
如果我們要緊急執行一個報表,那麼,我們可以對錶加寫鎖,防治別人讀寫,來提高對這個表的處理速度。
8. 用 mysql_unbuffered_query() 開發快速的腳本
這個函數能用來取代 mysql_query() 函數,主要的差異就是 mysql_unbuffered_query()
但是回傳的行數不能用mysql_num_rows() 函數來檢查,因為輸出的結果集大小不詳。

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

使用依賴注入(DI)的原因是它促進了代碼的松耦合、可測試性和可維護性。 1)使用構造函數注入依賴,2)避免使用服務定位器,3)利用依賴注入容器管理依賴,4)通過注入依賴提高測試性,5)避免過度注入依賴,6)考慮DI對性能的影響。

phpperformancetuningiscialbecapeitenhancesspeedandeffice,whatevitalforwebapplications.1)cachingwithapcureduccureducesdatabaseloadprovesrovessetimes.2)優化

ThebestpracticesforsendingemailssecurelyinPHPinclude:1)UsingsecureconfigurationswithSMTPandSTARTTLSencryption,2)Validatingandsanitizinginputstopreventinjectionattacks,3)EncryptingsensitivedatawithinemailsusingOpenSSL,4)Properlyhandlingemailheaderstoa

TOOPTIMIZEPHPAPPLICITIONSFORPERSTORANCE,USECACHING,數據庫imization,opcodecaching和SererverConfiguration.1)InlumentCachingWithApcutCutoredSatfetchTimes.2)優化的atabasesbasesebasesebasesbasesbasesbaysbysbyIndexing,BeallancingAndWriteExing

依賴性注射inphpisadesignpatternthatenhancesFlexibility,可檢驗性和ManiaginabilybyByByByByByExternalDependencEctenceScoupling.itallowsforloosecoupling,EasiererTestingThroughMocking,andModularDesign,andModularDesign,butquirscarecarefulscarefullsstructoringDovairing voavoidOverOver-Inje

PHP性能優化可以通過以下步驟實現:1)在腳本頂部使用require_once或include_once減少文件加載次數;2)使用預處理語句和批處理減少數據庫查詢次數;3)配置OPcache進行opcode緩存;4)啟用並配置PHP-FPM優化進程管理;5)使用CDN分發靜態資源;6)使用Xdebug或Blackfire進行代碼性能分析;7)選擇高效的數據結構如數組;8)編寫模塊化代碼以優化執行。

opcodecachingsimplovesphperforvesphpermance bycachingCompiledCode,reducingServerLoadAndResponSetimes.1)itstorescompiledphpcodeinmemory,bypassingparsingparsingparsingandcompiling.2)useopcachebachebachebachebachebachebachebysettingparametersinphametersinphp.ini,likeememeryconmorysmorysmeryplement.33)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器