實(shí)現(xiàn)步驟:1、嵌套兩個(gè)foreach來遍歷二維數(shù)組內(nèi)外層的鍵名和鍵值,語法“foreach($arr as $k1=>$v2){foreach($v1 as $k2=>$v2){//循環(huán)體語句塊}}”;2、在循環(huán)體中,用“===”找到指定字段名元素,用unset()根據(jù)對應(yīng)鍵名刪除該元素,語法“if($k==="指定字段名"){unset($arr[$k1][$k2]);}”。
php入門到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)
API 文檔、設(shè)計(jì)、調(diào)試、自動化測試一體化協(xié)作工具:點(diǎn)擊使用
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
在php中,可以利用foreach語句和unset()函數(shù)來去掉二維數(shù)組中某個(gè)字段的值。
實(shí)現(xiàn)步驟:
步驟1:嵌套兩個(gè)foreach語句來遍歷二維數(shù)組內(nèi)外層的鍵名和鍵值
foreach ($array as $key => $value){ foreach ($value as $k => $v){ //內(nèi)層循環(huán)體語句塊; } }
-
外層第一個(gè)foreach語句:遍歷給定的 $array 數(shù)組的外層,在每次循環(huán)中會將當(dāng)前數(shù)組的值賦給 $value,鍵名賦給 $key。
-
內(nèi)層第二個(gè)foreach語句:遍歷$value子數(shù)組,在每次循環(huán)中會將當(dāng)前數(shù)組的值賦給 $v,鍵名賦給 $k。
步驟2:在循環(huán)體中,利用“===”找到指定字段名元素,使用unset()函數(shù)根據(jù)對應(yīng)鍵名刪除該元素
if($k==="指定字段名"){ unset($arr[$key][$k]); }
實(shí)現(xiàn)代碼:
function f($arr,$s){ foreach ($arr as $key => $value){ foreach ($value as $k => $v){ if($k===$s){ unset($arr[$key][$k]); } } } echo "刪除后的二維數(shù)組:"; var_dump($arr); }
調(diào)用f($arr)處理下面函數(shù),刪除name字段或score字段
$arr=array( array( 'name' => "小明", 'score' => 85, ), array( 'name' => "小華", 'score' => 92, ), array( 'name' => "霄曉", 'score' => 100, ), array( 'name' => "蕭潔", 'score' => 99, ), array( 'name' => "趙峰", 'score' => 96, ) ); var_dump($arr); f($arr,"name");
f($arr,"score");
說明:foreach語句
foreach是專門為遍歷數(shù)組而設(shè)計(jì)的語句,是遍歷數(shù)組時(shí)常用的方法,在遍歷數(shù)組方面提供了很大的便利;PHP5后還可以遍歷對象(foreach僅能夠應(yīng)用于數(shù)組和對象)。
foreach語句遍歷數(shù)組與數(shù)組下標(biāo)無關(guān),且可以用于不連續(xù)的索引數(shù)組和以字符串為下標(biāo)的關(guān)聯(lián)數(shù)組。
foreach語句有兩種語法格式:
語法格式1:
foreach ($array as $value){ 語句塊; }
-
遍歷給定的 $array 數(shù)組,在每次循環(huán)中將當(dāng)前數(shù)組的值賦給 $value。
語法格式2:
foreach ($array as $key => $value){ 語句塊; }
-
遍歷給定的 $array 數(shù)組,在每次循環(huán)中會將當(dāng)前數(shù)組的值賦給 $value,鍵名賦給 $key。
foreach語句在每次循環(huán)時(shí),數(shù)組內(nèi)部的指針會向前移一步,這樣在下一次循環(huán)中會得到下一個(gè)數(shù)組元素,直到遍歷到數(shù)組的末尾,停止遍歷并退出循環(huán)。
推薦學(xué)習(xí):《PHP視頻教程》