• 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

    @漏刻有时

  • 相关阅读:
    [039]量化交易] DataFrame、Series数据结构访问
    C++&qt Day10
    从源码看vue(v2.7.10)的computed的实现原理
    c++ | makefile | 编译 | 链接库
    MySQL【子查询】
    阿里云国际版云服务器Linux系统数据恢复操作步骤
    Linux 查看日志
    11.23Spring 学习第三天
    【LeetCode高频100题-2】冲冲冲
    ATtiny88初体验(五):ADC
  • 原文地址:https://blog.csdn.net/weixin_41290949/article/details/133753777