我有以下循环:
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
);
应该在数组的最后一对值行中删除逗号,这会导致其他问题。
任何帮助都将深表感谢。
问候,约翰
答案 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;
}
答案 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);