php - 如何使用键从数组中删除元素

标签 php arrays

我有一个数组,里面有其他数组,我想删除具有键“PTemp_C_Avg”的元素

尝试通过创建一个函数来遍历原始数组并消除分配的键(在本例中为 PTemp_C_Avg)。但是,这不会删除特定元素。

//arrProvAvg array
Array
(
[0] => Array
    (
        [PTemp_C_Avg] => 17.28
        [T0_10cm_Avg] => 22.58
        [T1_1m_Avg] => 27.91
        [T2_2m_Avg] => 31.95
        [T3_3m_Avg] => 36.32
        [T4_4m_Avg] => 41.73
        [T5_5m_Avg] => 45.78
        [T6_6m_Avg] => 48.55
        [T7_7m_Avg] => 53.48
        [T7_5_7_5m_Avg] => 47.82
    )

[1] => Array
    (
        [PTemp_C_Avg] => 14.2
        [T0_10cm_Avg] => 20.94
        [T1_1m_Avg] => 27.36
        [T2_2m_Avg] => 32.12
        [T3_3m_Avg] => 36.33
        [T4_4m_Avg] => 41.4
        [T5_5m_Avg] => 46.58
        [T6_6m_Avg] => 48.8
        [T7_7m_Avg] => 52.69
        [T7_5_7_5m_Avg] => 48.9
    )

[2] => Array
    (
        [PTemp_C_Avg] => 11.83
        [T0_10cm_Avg] => 20.23
        [T1_1m_Avg] => 26.9
        [T2_2m_Avg] => 32.39
        [T3_3m_Avg] => 36.95
        [T4_4m_Avg] => 41.48
        [T5_5m_Avg] => 46.41
        [T6_6m_Avg] => 48.82
        [T7_7m_Avg] => 52.58
        [T7_5_7_5m_Avg] => 49.42
    )

)


function eliminaClave($arrOriginal, $key){
    foreach($arrOriginal as $clave => $valor){
        foreach($valor as $c => $v){
            unset($v[$key]);
        }
    }
    return $arrOriginal;
}

//Call the eliminaClave function
$arrPromAvg = eliminaClave($arrPromAvg, "PTemp_C_Avg");

这是我期望的输出

 Array
(
[0] => Array
    (
        [T0_10cm_Avg] => 22.58
        [T1_1m_Avg] => 27.91
        [T2_2m_Avg] => 31.95
        [T3_3m_Avg] => 36.32
        [T4_4m_Avg] => 41.73
        [T5_5m_Avg] => 45.78
        [T6_6m_Avg] => 48.55
        [T7_7m_Avg] => 53.48
        [T7_5_7_5m_Avg] => 47.82
    )

[1] => Array
    (
        [T0_10cm_Avg] => 20.94
        [T1_1m_Avg] => 27.36
        [T2_2m_Avg] => 32.12
        [T3_3m_Avg] => 36.33
        [T4_4m_Avg] => 41.4
        [T5_5m_Avg] => 46.58
        [T6_6m_Avg] => 48.8
        [T7_7m_Avg] => 52.69
        [T7_5_7_5m_Avg] => 48.9
    )

[2] => Array
    (
        [T0_10cm_Avg] => 20.23
        [T1_1m_Avg] => 26.9
        [T2_2m_Avg] => 32.39
        [T3_3m_Avg] => 36.95
        [T4_4m_Avg] => 41.48
        [T5_5m_Avg] => 46.41
        [T6_6m_Avg] => 48.82
        [T7_7m_Avg] => 52.58
        [T7_5_7_5m_Avg] => 49.42
    )

)

带有“PTemp_C_Avg”的元素已被删除

最佳答案

使用单个 foreach()unset() 怎么样?

function eliminaClave($arrOriginal, $key){
    foreach($arrOriginal as $clave => $valor){
        unset($valor['PTemp_C_Avg']);
        $arrOriginal[$clave] = $valor;  
    }
    return $arrOriginal;
}

关于php - 如何使用键从数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56553300/

相关文章:

javascript - 使用额外的方法和语法糖扩展 Javascript 数组

C# .NET 如何创建带有标题的数组,如 DataRow?

python - cython 中的数组数组

python - 在 Matlab 中是否有等效于 Python 的列表和附加功能?

php - 如何解决这个sql查询?

php - 任何支持 5.3 语法的 PHP 编辑器?

php - 在这个 php 代码示例中,我应该在哪里放置 html 粗体标签?

php - 匹配至少有一个空格的 Unicode 字符串的正则表达式

java - 比较存储在数组中的大量值的最有效方法是什么?

php - 自动递增 UPDATE 查询 ID 或序列号