0

配列をエコーすると、結果は次のようになります。

$Items = Array( [147] => Array([ItemName] => Array([0]=>White Snack [1]=>Dark Cookie) [ItemCode] => Array([0]=>IT-WS [1]=>IT-DC ) )  [256] => Array([ItemName] => Array([0]=>Soft Sandwiches [1]=>Hard Drinks) [ItemCode] => Array([0]=>IT-SS [1]=>IT-HD )  )) 

ここで、次の結果、インデックス 147 および 256 を表形式で表示する必要があります。正しいインデックス値を取得するために、別の foreach ループからそれらを渡します。

-----------147---------------

名前 ----------------------------------- コード

ホワイトスナック --------------------------- WS

ダーククッキー --------------------------- DC

-----------256---------------

名前 ----------------------------------- コード

ソフトサンド ---------------------- SS

ハードドリンク -------------------------------- HD

これを達成することはできません。助けてください。

    $ItemIndexes = array(147,256);

    foreach($ItemIndexes as $ItemMainIndex)

    {
         //further code here , 
        //here I would send the $ItemMainIndex to the $Items array 
       //and get the corresponding index value and display it accordingly.
    }
4

4 に答える 4

1

次のような関数を作成できます。

function echoItemTable($num, &$items){
    $val = $items[$num];
    echo "<h2>".$num."</h2>";
    echo "<table><thead><tr><th>Name</th><th>Code</th></tr></thead>";
    echo "<tbody>";
    foreach ($x = 0, $num = count($val["ItemName"); $x < $num; $x++){
        echo "<tr><td>".$val["ItemName"][$x]."</td>";
        echo "<td>".str_replace("IT-", "", $val["ItemCode"][$x])."</td></tr>";
    }
    echo "</tbody>";
    echo "</table>";
}

次のようにコードで呼び出します

$ItemIndexes = array(147,256);

foreach($ItemIndexes as $ItemMainIndex)
{
    echoItemTable($ItemMainIndex, $items);
}
于 2013-07-17T17:37:42.840 に答える
0

これを試して :

$Items       = array( 147 => array("ItemName" => array("White Snack", "Dark Cookie"), "ItemCode" => array("IT-WS", "IT-DC" )),  
                256 => array("ItemName" => array("Soft Sandwiches", "Hard Drinks"), "ItemCode" => array("IT-SS", "IT-HD" ))
              ); 

$result      = array();           
foreach($Items as $key => $Item){
    $result[$key]  = array_combine($Item["ItemName"], $Item["ItemCode"]); 
}

echo "<pre>";
print_r($result);

出力:

Array
(
    [147] => Array
        (
            [White Snack] => IT-WS
            [Dark Cookie] => IT-DC
        )

    [256] => Array
        (
            [Soft Sandwiches] => IT-SS
            [Hard Drinks] => IT-HD
        )

)
于 2013-07-18T06:45:07.890 に答える