2

私はこのような5つの配列を持っています

print_r($_POST['ponumber']);
print_r($_POST['man_part_number']);
print_r($_POST['model']);
print_r($_POST['damaged']);
print_r($_POST['serial_number']);
print_r($_POST['skid']);

生産する

Array
(
    [0] => 111111
    [1] => 111111
    [2] => 111111
    [3] => 111111
)
Array
(
    [0] => 11C2555
    [1] => 11C2555
    [2] => 11C2555
    [3] => 11C2555
)
Array
(
    [0] => FORMS PRINTER 2500 SERIES
    [1] => FORMS PRINTER 2500 SERIES
    [2] => FORMS PRINTER 2500 SERIES
    [3] => FORMS PRINTER 2500 SERIES
)
Array
(
    [0] => 0
    [1] => 0
    [2] => 0
    [3] => 0
)
Array
(
    [0] => CNCQ202070
    [1] => CNCQ210800
    [2] => MY5203B1KQ
    [3] => CN1863Q0PQ
)
Array
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 1
)

キーに基づいてそれらを組み合わせる必要があるため、このような合計 4 つの配列が得られます

Array
(
    [0] => 111111
    [1] => 11C2555
    [2] => FORMS PRINTER 2500 SERIES
    [3] => 0
    [4] => CNCQ202070
 )

等々...

各配列の各キーを一致させ、それらを 1 つの配列に結合する必要があります。array_combine と array_merge を試していましたが、それが正しい方法ではなかったと思います。誰?

4

4 に答える 4

4
$items = array();

for($x = 0; $x < count($_POST['ponumber']); $x++){
    $item = array($_POST['ponumber']);
    $item[] = $_POST['ponumber'][$x];
    $item[] = $_POST['man_part_number'][$x];
    $item[] = $_POST['model'][$x];
    $item[] = $_POST['damaged'][$x];
    $item[] = $_POST['serial_number'][$x];
    $item[] = $_POST['skid'][$x];
    $items[] = $item;
}

必要な配列の配列を提供します。これは、すべての配列が同じサイズであると仮定していることに注意してください。そうでない場合は、いくつかのチェックを追加する必要があります。

于 2013-01-09T03:27:48.840 に答える
1

ネストされた foreach ループを使用して 5 つの新しい配列を作成しようとしましたか?

確かに長くて退屈ですが、急いで必要な場合は最初に始めることができますか?

于 2013-01-09T03:21:43.993 に答える
0

あなたはこれを使うことができます:

$counter = 0;
$temp = array();
 if(isset($_POST)){ // check if $_POST isset.

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

          $temp[$counter] = $value;
          break;
       }
       $counter++;
    }
    }

チェックアウトするには、次のことができます。

var_dump($temp);

私が助けてくれたことを願っています

于 2013-01-09T03:40:45.497 に答える
0

フォームをそのように構成できれば、より使いやすい$_POST配列が得られます。

<form>
  <input name="data[0][ponumber]" />
  <input name="data[0][man_part_number]" />
  <input name="data[0][model]" />
  <input name="data[0][damaged]" />
  <input name="data[0][serial_number]" />
  <input name="data[0][skid]" />

  <input name="data[1][ponumber]" />
  <input name="data[1][man_part_number]" />
  <input name="data[1][model]" />
  <input name="data[1][damaged]" />
  <input name="data[1][serial_number]" />
  <input name="data[1][skid]" />
</form>

$_POST次のようになります。

'data' => array(
  0 => array(
    'ponumber' => '111111',
    'man_part_number' => '11C2555',
    'model' => 'FORMS PRINTER 2500 SERIES',
    'damaged' => '0',
    'serial_number' => 'CNCQ202070',
    'skid' => '1',
  ), ...
)
于 2013-01-09T04:10:05.970 に答える