0

結合して最終的に電子メールで作成する必要がある 4 つの配列を投稿するフォームがあります。4 つの配列:

$quantityArray    = $this->input->post('qty');
$dimensionArray   = $this->input->post('dimension');
$thicknessArray   = $this->input->post('thickness');
$descriptionArray = $this->input->post('description');

すべて同じ配列の長さになり、各インデックスは関連付けられます。次のような4つの配列を組み合わせるにはどうすればよいですか

[0]
     'qty' => '1',
     'dimenesion => '2x2',
     'thickness' => '2in',
     'description' => 'this is the description'
[1]
     'qty' => '1',
     'dimenesion => '2x2',
     'thickness' => '2in',
     'description' => 'this is the description'

array_combined、array_merged を試しましたが、探している結果が得られません。これについて助けてくれてありがとう。

4

4 に答える 4

2

これらの配列の長さが同じ場合、コード例は次のとおりです。

$resultArray = array();
foreach($quantityArray as $index => $qty) {
    $resultArray[$index]['qty'] = $qty;
    $resultArray[$index]['dimenesion'] = $dimensionArray[$index];
    $resultArray[$index]['thickness'] = $thicknessArray[$index];
    $resultArray[$index]['description'] = $descriptionArray [$index];
}

print_r($resultArray);
于 2013-10-25T18:28:42.520 に答える
1

これらの配列の長さが同じであると仮定すると、私のコードは次のとおりです。

$quantityArray = array(1, 1, 5, 3);
$dimensionArray = array("2x2", "3x3", "4x4", "2x2");
$thicknessArray = array("2in", "3in", "4in", "2in");
$descriptionArray = array("this is the description 1", "this is the description 2 ", "this is the description3 ", "this is the description4" );

$myCombinArray = array();
foreach ( $quantityArray as $idx => $val ) {
    $subArray = array (
            'qty' => $quantityArray [$idx],
            'dimenesion' => $dimensionArray [$idx],
            'thickness' => $thicknessArray [$idx],
            'description' => $descriptionArray [$idx] 
    );
    array_push ( $myCombinArray, $subArray );
}
print_r($myCombinArray);
于 2013-10-25T18:56:31.603 に答える
1

これもうまくいくかもしれません:

<?php
//...
$quantityArray    = $this->input->post('qty');
$dimensionArray   = $this->input->post('dimension');
$thicknessArray   = $this->input->post('thickness');
$descriptionArray = $this->input->post('description');

//
// combine them:
//
$combined = array();
$n = count($quantityArray);
for($i = 0; $i < $n; $i++)
{
  $combined[] = array(
    'qty' => $quantityArray[$i],
    'dimenesion' => $dimensionArray[$i],
    'thickness' => $thicknessArray[$i],
    'description' => $descriptionArray[$i]
  );
}
//
echo "<pre>";
print_r($combined);
echo "</pre>";
?>
于 2013-10-25T18:33:29.400 に答える
0

これらの4つの配列が常にある場合の簡単な方法はどうですか:

$quantityArray    = $this->input->post('qty');
$dimensionArray   = $this->input->post('dimension');
$thicknessArray   = $this->input->post('thickness');
$descriptionArray = $this->input->post('description');

$combinedArray = [$quantityArray, $dimensionArray, $thicknessArray, $descriptionArray];

# old syntax:
# $combinedArray = array($quantityArray, $dimensionArray, $thicknessArray, $descriptionArray);
于 2013-10-25T18:28:52.950 に答える