• php实战案例记录(24)不要键名只保留值的算法


    php中对数组 $originalArray = array(
    “name” => “John”,
    “age” => 25,
    “city” => “New York”
    )仅去除键名保留值的算法是什么

    array_values()` 函数

    在 PHP 中,你可以使用 array_values() 函数来去掉数组的键名。该函数会返回一个新数组,其中包含原始数组的所有值,但键名会被重新索引为连续的数字。

    下面是一个示例代码

    $originalArray = array(
        "name" => "John",
        "age" => 25,
        "city" => "New York"
    );
    
    $newArray = array_values($originalArray);
    
    print_r($newArray);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    输出结果将会是:

    Array
    (
        [0] => John
        [1] => 25
        [2] => New York
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    使用 array_values() 函数后,新数组 $newArray 的键名会被重新索引为从 0 开始的连续数字。原始数组中的键名则被忽略。

    使用 array_map() 函数:

    $originalArray = array(
        "name" => "John",
        "age" => 25,
        "city" => "New York"
    );
    
    $newArray = array_map('current', $originalArray);
    
    print_r($newArray);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    输出结果与 array_values() 函数相同:

    Array
    (
        [0] => John
        [1] => 25
        [2] => New York
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    使用 foreach 循环:

    $originalArray = array(
        "name" => "John",
        "age" => 25,
        "city" => "New York"
    );
    
    $newArray = array();
    
    foreach ($originalArray as $value) {
        $newArray[] = $value;
    }
    
    print_r($newArray);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    输出结果也与 array_values() 函数相同:

    Array
    (
        [0] => John
        [1] => 25
        [2] => New York
    )
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    使用 array_column() 函数:

    array_column() 函数可以提取数组中特定列的值,并返回一个新数组。在某些情况下,如果原始数组的键名是数字或与要提取的列名无关,可以使用 array_column() 函数来去除键名。例如:

    $originalArray = array(
        "name" => "John",
        "age" => 25,
        "city" => "New York"
    );
    
    $newArray = array_column($originalArray, null, 'name');
    $newArray = array_values($newArray);
    
    print_r($newArray);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    虽然这里使用了 array_column() 函数,但实际上它间接地移除了键名。输出结果仍然与之前的方法相同。

    使用 array_combine() 函数:

    array_combine() 函数可以将一个数组的值作为键名,另一个数组的值作为键值,并返回一个新的关联数组。如果使用 array_combine() 函数将原始数组的值作为键名,将相同的值作为键值,并将结果赋值给一个新变量,那么新数组将只包含值,没有键名。例如:

    $originalArray = array(
        "name" => "John",
        "age" => 25,
        "city" => "New York"
    );
    
    $newArray = array_combine(array_values($originalArray), $originalArray);
    $newArray = array_values($newArray);
    
    print_r($newArray);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    @漏刻有时

  • 相关阅读:
    Roblox 不但不支持 Linux,还屏蔽了 Wine
    ArcGIS水文分析工具
    【C++基础】单例模式
    Python数据分析实战-applymap、apply、map有什么区别?(附源码和实现效果)
    中电金信:The Financial-Grade Digital Infrastructure
    在 docker 中设置容器自动启动
    万字长文学会对接 AI 模型:Semantic Kernel 和 Kernel Memory,工良出品,超简单的教程
    IPA模特委员会十月人气评选 石庭语荣获全球人气季军
    oracle 自定义存储过程(非常简单明了)
    代码交付自动化 4项非常重要
  • 原文地址:https://blog.csdn.net/weixin_41290949/article/details/133753777