如何将循环中的变量插入到php中的关联数组中

时间:2013-09-23 13:58:43

标签: php arrays

我有以下循环:

 foreach($_POST as $key => $value) {

           echo "Key:" . $key . " Value: ". $value .   "<br />";         

           }

产生以下结果:

键:1值:我的价值 关键:8价值:我的其他价值 键:9值:另一个值

我要做的是创建一个如下所示的数组:

$editWhat = array(
                'field1'            => $key1,
                'field2'            => $key2,
                'field3'            => $key3,
                'field4'        => $value1,
                'field5'        => $value2,
                'field6'        => $value3
            ); 

应该在数组的最后一对值行中删除逗号,这会导致其他问题。

任何帮助都将深表感谢。

问候,约翰

7 个答案:

答案 0 :(得分:3)

$editWhat = array();
foreach($_POST as $key => $value)
    $editWhat['field'.(count($editWhat)+1)] = $key;
foreach($_POST as $value)
    $editWhat['field'.(count($editWhat)+1)] = $value;

将完全按照您的描述进行操作。如果您不需要阵列的键,您可以这样做:

$editWhat = array_merge(array_keys($_POST), array_values($_POST));

答案 1 :(得分:2)

也许我误解了但是试试这个以获得你想要的阵列:

$editWhat = array();
$count = count($_POST);
foreach($_POST as $key => $value) {
    $editWhat['field'.($key+1)] = $key;
    $editWhat['field'.($key+$count+1)] = $value;
}

答案 2 :(得分:0)

只需将数组值设置为循环中的相应键:

$editWhat = array();

foreach($_POST as $key => $value) {

    $editWhat[$key] = $value;  

}

请参阅http://php.net/manual/en/language.types.array.php

答案 3 :(得分:0)

$editWhat=array();

foreach($_POST as $key => $value) {

           $editWhat[$key] = $value;         

           }

答案 4 :(得分:0)

您可以使用array_keys()array_values()函数循环遍历数组的键和值,并使用两个单独的循环构造一个新数组。

答案 5 :(得分:0)

试试这个。

foreach($_POST as $key=>$value){
    $keys[]=$key;
    $values[]=$value;
}
foreach($keys as $editKey){
    $editWhat[]=$editKey;
}
foreach($values as $editValue){
    $editWhat[]=$editVlaue;
}

答案 6 :(得分:0)

 $array = array();
$n = 1;
foreach($_POST as $key => $value) {
      $array["field".$n] = $key; 
      $n++;
 }

foreach($_POST as $key => $value) { 
      $array["field".$n] = $value; 
      $n++; 
}

print_r($array);