容易被PHP程式設計師忽視的幾個要點

2021-08-27 12:20:27 字數 1099 閱讀 9934

前幾天就想好好整理上次遇到的問題,但是工作比較忙,就放到週末來寫吧。

上次和同事溝通需求的時候,他給了一段他寫好了的**,我執行的時候發現了幾個bug,都是由於程式不嚴謹,考慮不周到,在這裡寫下來,和有一定php開發基礎的朋友分享一下。

1、foreach陣列一定先判斷型別

發現很多php程式設計師在foreach陣列的時候直接來,沒有在之前判斷一下型別,這可能是由於php是弱型別語言導致大家的定向程式設計思維吧。邏輯上是從資料庫裡邊取出來乙個陣列,然後我們在php程式裡邊直接foreach,這無可厚非,但是,有沒有想過資料庫根據你的sql條件壓根就沒取到資料呢?那麼,在php**裡邊直接foreach乙個空的變數就會報錯了!雖然,幾乎所有公司的線上環境都已經遮蔽了php報錯,但是,我們可以再把我們的**寫得再嚴謹一點,下面是我的習慣寫法:

<?php

//定義測試陣列

$arr_temp = array(1=>'one');

//先判斷

if(is_array($arr_temp) && count($arr_temp) >0)

}?>

當然,上面只是我的習慣寫法,你知道在foreach之前判斷型別就ok了。這是在,你不能完全確定你獲取的資料是否是陣列的情況下必須寫的乙個步驟。如果你能100%確定你能得到乙個陣列型別的資料的話,那這個步驟可以無視。

2、需要什麼資料就從庫裡邊獲取多少資料

我那哥們給我的**是這麼寫的:從資料庫裡獲取所有記錄(其實他只需要4條就完事了),然後在展示層只foreach迴圈遍歷輸出4條資料!多麼可怕的寫法呀!

乙個使用者訪問還好,訪問量大了,記憶體直接撐到暴!

其實,取4條資料在你從資料庫裡獲取時候的時候就應該限制了,並且select的時候需要哪些欄位就獲取哪些字段,很多朋友一寫select 就直接select * from ... (自己當初也這麼幹的,呵呵)。這個習慣很不好,合理有效的利用資料與伺服器記憶體,將硬體成本最小化。

說在最後:工作一年了,學到了很多,想分享的也很多,以後會慢慢寫下來,鄙人是一位瘋狂的程式設計圖書收藏者,www.codejia.net 個人收藏屋,金屋藏嬌於此。現在主要工作資料處理這塊,後續和大家分享更多有關資料庫效能方面的東東吧。

程式設計師的幾個缺點

這些年混跡於各it技術 觀察多發言少,對於程式設計師這個群體,有了個整體的感覺。如標題所示,這裡只列舉缺點。第一條,長得醜。很多程式設計師喜歡把自己未經ps的 作為自己的頭像,包括我,總體而言,都比較難看。這個缺點原因也很明顯 it行業應該是底層人們受過教育後最容易進入的比較高待遇的行業,因此程式設...

程式設計師最容易犯的幾個技術上的錯誤

如果你對程式設計不感興趣,你的 一定會寫的很爛。結果不僅僅你的事業沒有任何前途,你的團隊也會因此而痛苦不堪。對諸如抽象 多型 介面 異常處理最佳方案等程式設計概念不熟悉的人寫出的 必然是設計糟糕,可讀性和可維護性都極差。有些程式設計師喜歡過於聰明的在乙個複雜的語句裡包含多個步驟的 這會使 的可讀性很...

程式設計師最容易犯的幾個技術上的錯誤

如果你對程式設計不感興趣,你的 一定會寫的很爛。結果不僅僅你的事業沒有任何前途,你的團隊也會因此而痛苦不堪。對諸如抽象 多型 介面 異常處理最佳方案等程式設計概念不熟悉的人寫出的 必然是設計糟糕,可讀性和可維護性都極差。有些程式設計師喜歡過於聰明的在乙個複雜的語句裡包含多個步驟的 這會使 的可讀性很...