3

次のループがあります。

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

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

           }

次の結果が生成されます。

Key:1 Value: my value Key:8 Value: my some other value Key:9 Value: 別の値

私がやろうとしているのは、次のような配列を作成することです。

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

配列内の最後の値のペアの行でコンマを削除する必要があるため、追加の問題が発生します。

どんな助けでも大歓迎です。

よろしく、ジョン

4

7 に答える 7

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));
于 2013-09-23T14:07:09.543 に答える
2

誤解しているかもしれませんが、これを試して目的の配列を取得してください:

$editWhat = array();
$count = count($_POST);
foreach($_POST as $key => $value) {
    $editWhat['field'.($key+1)] = $key;
    $editWhat['field'.($key+$count+1)] = $value;
}
于 2013-09-23T14:03:06.000 に答える
0
$editWhat=array();

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

           $editWhat[$key] = $value;         

           }
于 2013-09-23T14:03:50.450 に答える
0

ループ内で配列値を対応するキーに設定するだけです。

$editWhat = array();

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

    $editWhat[$key] = $value;  

}

http://php.net/manual/en/language.types.array.phpを参照してください

于 2013-09-23T14:02:04.103 に答える
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);
于 2013-09-23T14:11:48.813 に答える
0

array_keys()関数と関数を使用array_values()して配列のキーと値をループし、2 つの別々のループを使用して新しい配列を作成できます。

于 2013-09-23T14:06:24.197 に答える
0

これを試して。

foreach($_POST as $key=>$value){
    $keys[]=$key;
    $values[]=$value;
}
foreach($keys as $editKey){
    $editWhat[]=$editKey;
}
foreach($values as $editValue){
    $editWhat[]=$editVlaue;
}
于 2013-09-23T14:09:17.390 に答える