題記:有人說(shuō)php是前端語(yǔ)言,對(duì)~~說(shuō)的一點(diǎn)不錯(cuò),php的確可以寫前端。但是php神就神在它也可以連接數(shù)據(jù)庫(kù),那么也就意味著它可以處理表。那么我們也可以認(rèn)為php是后臺(tái)語(yǔ)言,它能寫出一個(gè)很完美的server。同樣的很多人認(rèn)為java是后臺(tái)語(yǔ)言,沒錯(cuò),java強(qiáng)大的類庫(kù),強(qiáng)大的社區(qū)提供各種各樣的開源包。但是Android基本都是java寫的呀,所以~~~~
如果說(shuō)測(cè)試員絕大多數(shù)時(shí)間是在寫測(cè)試用例和執(zhí)行測(cè)試用例的話,那么后臺(tái)絕大多數(shù)時(shí)間做的就是寫接口和處理字符集(ps:處理bug這個(gè)梗就不多說(shuō)了)。寫這篇文章的目的主要是為了幫助和我一樣的初學(xué)者對(duì)php處理字符集有更深刻的了解,也是為了幫助那些正在努力著的測(cè)試員,我們一起用測(cè)試員的角度來(lái)揭開那些“搬磚工”們每天都在干什么。話不多說(shuō),讓我們進(jìn)入正題
如圖1所示:如果你是php初學(xué)者請(qǐng)務(wù)必理解圖中操作步驟,如果你是測(cè)試員,那么可以不需要理解每句都是具體含義,紅色字體部分,我已經(jīng)做了詳細(xì)說(shuō)明,1->配置數(shù)據(jù)庫(kù)信息連接上數(shù)據(jù)庫(kù)->2.為了防止輸入的中文是亂碼set utf8一下->3.為了防止sql注入我們選擇用prepare來(lái)處理sql命令->4.用execut來(lái)處理sql 并賦值到一個(gè)容器中,因?yàn)槲覀円獙?duì)這個(gè)數(shù)據(jù)做進(jìn)一步處理->5.使用fetchall處理剛剛那個(gè)容器,獲得我們想要的數(shù)據(jù)->6.此時(shí)的二維數(shù)組賊難看,數(shù)據(jù)包著數(shù)據(jù),我們需要做進(jìn)一步處理這里我們選擇foreach強(qiáng)序遍歷。(說(shuō)白了就是一層一層的剝殼)

如下圖2所示,我們返回的絕大數(shù)情況下都是二維數(shù)組,遇到那些寫的sql跟狗屎一樣的程序的話,那就更難剝,所以寫sql的時(shí)候最好精準(zhǔn)定位,查兩條數(shù)據(jù),我們絕對(duì)的不返回三條數(shù)據(jù),這樣的話處理數(shù)組就會(huì)方便很多

如圖3所示返回的結(jié)果是二維數(shù)組,可是我只需要一個(gè)key為id value為name的一維數(shù)組。那我們?cè)撛趺崔k呢?遇到這種問(wèn)題想都不用想,直接foreach!
定義一個(gè)空的數(shù)組容器$a=[];
foreac $數(shù)組名($數(shù)組名 as $k=>$v){
$a[]=$v[‘name’];//遍歷出了所有的$v,把所有name的值賦給空數(shù)組
}
//效果$a = ['張三', '李四', '王五', '李雷', '韓梅梅'];

那么我們想做一個(gè)指定k的操作又該怎么辦呢?
foreach ($arr as $k => $v) {
? $arr2[$v['id']] = $v;//$v['id']我們把id獲取到以后,把它定義到新的數(shù)組里面就可以了
}
下一篇我將結(jié)束前后端數(shù)據(jù)的交互。