實現步驟:1、巢狀兩個foreach來遍歷二維陣列內外層的鍵名和鍵值,語法「foreach($arr as $k1=>$v2){foreach($v1 as $k2=>$v2){//迴圈體語句塊}}」;2、在迴圈體中,用「===」找到指定欄位名元素,用unset()根據對應鍵名刪除該元素,語法「if($k==="指定欄位名"){unset($arr[$k1][$k2]);}」。
php入門到就業線上直播課:進入學習
API 檔案、設計、偵錯、自動化測試一體化共同作業工具:
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在php中,可以利用foreach語句和unset()函數來去掉二維陣列中某個欄位的值。
實現步驟:
步驟1:巢狀兩個foreach語句來遍歷二維陣列內外層的鍵名和鍵值
foreach ($array as $key => $value){
foreach ($value as $k => $v){
//內層迴圈體語句塊;
}
}
登入後複製
外層第一個foreach語句:遍歷給定的 $array 陣列的外層,在每次迴圈中會將當前陣列的值賦給 $value,鍵名賦給 $key。
內層第二個foreach語句:遍歷$value子陣列,在每次迴圈中會將當前陣列的值賦給 $v,鍵名賦給 $k。
步驟2:在迴圈體中,利用「===」找到指定欄位名元素,使用unset()函數根據對應鍵名刪除該元素
if($k==="指定欄位名"){
unset($arr[$key][$k]);
}
登入後複製
實現程式碼:
function f($arr,$s){
foreach ($arr as $key => $value){
foreach ($value as $k => $v){
if($k===$s){
unset($arr[$key][$k]);
}
}
}
echo "刪除後的二維陣列:";
var_dump($arr);
}
登入後複製
呼叫f($arr)處理下面函數,刪除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是專門為遍歷陣列而設計的語句,是遍歷陣列時常用的方法,在遍歷陣列方面提供了很大的便利;PHP5後還可以遍歷物件(foreach僅能夠應用於陣列和物件)。
foreach語句遍歷陣列與陣列下標無關,且可以用於不連續的索引陣列和以字串為下標的關聯陣列。
foreach語句有兩種語法格式:
語法格式1:
foreach ($array as $value){
語句塊;
}
登入後複製
遍歷給定的 $array 陣列,在每次迴圈中將當前陣列的值賦給 $value。
語法格式2:
foreach ($array as $key => $value){
語句塊;
}
登入後複製
遍歷給定的 $array 陣列,在每次迴圈中會將當前陣列的值賦給 $value,鍵名賦給 $key。
foreach語句在每次迴圈時,陣列內部的指標會向前移一步,這樣在下一次迴圈中會得到下一個陣列元素,直到遍歷到陣列的末尾,停止遍歷並退出迴圈。
推薦學習:《》
以上就是php怎麼去掉二維陣列中某個欄位的值的詳細內容,更多請關注TW511.COM其它相關文章!