PHP将数组值转换为键

时间:2018-05-09 09:58:07

标签: php

给出以下数组:

Array
(
    [0] => 'lorem ipsum'
    [1] => 'dolor sit amet'
    [2] => 'consectetur adipiscing elit'
)

将此转换为以下内容的最佳方法是:

Array
(
    ['lorem ipsum'] => true
    ['dolor sit amet'] => true
    ['consectetur adipiscing elit'] => true
)

除了预测和创建新阵列?是否有任何内置的PHP函数可以为我做这个?

新数组中键的值始终是固定值,即true

我查看array_flip,但不认为这会允许我应用固定值。

1 个答案:

答案 0 :(得分:3)

正如AlivetoDie指出的那样,你可以使用没有内置的单一呼叫方法。但是,如果您只想省略foreach(并创建中间结果),则以下是一个单行解决方案:

$out = array_combine($in, array_fill(0, count($in), true));

https://3v4l.org/YFBkW

或:

$out = array_map(function () { return true; }, array_flip($in));

如果您需要更多控制权。