PHP将数组键更改为其值

Gem*_*Gem 1 php arrays

我认为这是一个奇怪的要求,但我真的无法弄清楚如何做到这一点:((

我有这样一个数组:

$oldArray = array([0]=>'str1', [1]=>'str2', [2]=>'str3'...);
[edit:] $oldArray = explode(',',$_POST['something']); // a string from an ajax call
Run Code Online (Sandbox Code Playgroud)

但我想"重新调整它"(对不起,这里不是非常技术性的术语):

$newArray = array('str1' => array(), 'str2'=>array(), 'str3'=>array() ... );
[edit:] What I'm actually trying to do is
        $_SESSION['bish']['bash'][$newArrayKEY]['bosh'] = somethingElse;
Run Code Online (Sandbox Code Playgroud)

我真的希望这是足够的信息,让你们帮助我

非常感谢宝石

Mar*_*ker 6

$newArray = array_combine(
    $oldArray,
    $oldArray
);
Run Code Online (Sandbox Code Playgroud)

会做你想要的,但我不确定你是否了解数组键

所有数组都有一个键:默认是一个简单的枚举键,这是您原始数组中的键

实际上,你要求创造

$newArray = array('str1' => 'str1', 'str2' => 'str2', 'str3' => 'str3' ... );
Run Code Online (Sandbox Code Playgroud)

编辑

通过编辑问题:

$newArray = array_fill_keys(
    $oldArray,
    array()
);
Run Code Online (Sandbox Code Playgroud)

虽然我对你想用$ _SESSION实现的目标感到困惑