设置数组元素而不知道它们的索引

时间:2012-10-24 18:48:56

标签: php arrays

  

可能重复:
  Search array keys and return the index of matched key

在我的代码中,我正在做$params[ltrim($part, ':')] = null;以获得一个如下所示的数组:

Array
(
    [id] => 
    [random] => 
    [something] => 
)

我需要一种在不知道索引的情况下顺序设置每个元素的值的方法。在此示例中,索引0将为id1将为random,依此类推。我尝试使用01设置它,最后得到一个这样的数组:

Array
(
    [id] => 
    [lol] => 
    [0] => value1
    [1] => value2
)

我有办法做到这一点吗?谢谢。

2 个答案:

答案 0 :(得分:3)

您可以使用foreach迭代关联数组

<?php

foreach( $arr as $key => $value ) {
    $arr[$key] = "some value";
}

/*
Array
(
    [id] => some value
    [random] => some value
    [something] => some value
)
*/

答案 1 :(得分:0)

在您的$params数组(已创建的数组)旁边,创建一个$values数组,其值根据您的需要编入索引或拥有。然后结合:

$final = array_combine(array_keys($params), $values);

如果您首先使用这些名称而不是键创建$params数组,您甚至可以免除array_keys次呼叫。