Замените значения массива ключами другого массива. PHP домашнее задание

Привет, это немного сложно сказать, поэтому я изо всех сил стараюсь объяснить, что происходит. В значительной степени у меня есть форма, где у меня была коробка выбора. Я должен был заполнить его следующим.

<?
       $PROVINCES = array("--" => "---Please Select Provinces---",
       "nf"=>"Newfoundland",
       "pe"=>"PrinceEdwardIsland",
       "nb"=>"New Brunswick",
       "ns"=>"Nova Scotia",
       "qc"=>"Quebec",
       "on"=>"Ontario",
       "mb"=>"Manitoba",
       "sk"=>"Saskatchewan",
       "ab"=>"Alberta",
       "bc"=>"British Columbia",
       "nt"=>"Northwest Territories");?>

Итак, я сделал это:

    <select name = "province[]" multiple size = "12" <?if ($_SERVER['REQUEST_METHOD'] == 'POST'){if (isset($errorList['province']))
    {
    echo "class=\"error\"";
    }}?>>
  <?php foreach($PROVINCES as $key => $value) { ?>
    <option value="<?php echo $key ?>"<?= (in_array($key, $_POST['province'] ) )?'selected':'';?>><?php echo $value?></option>
  <?php }?>
</select>

Теперь следующим шагом было создание таблицы всех значений в $_POST, но проблема в том, что значения nf, pe, nb и т. Д. Будут записывать их в таблицу, а не PrinceEdwardIsland, Нью-Брансуик, Новая Шотландия.

echo '<table border="1" style="width:100%">';
    foreach($_POST as $name => $out)
    {

        echo '<tr>';
        echo '<td>';
        echo '<strong>';
        echo strtoupper($name);
        echo '</strong>';
        echo '</td>';

        echo '<td>';

        if (is_array($out))
        {

            count($_POST);


            $arrayOutput = implode(", ", $out);
            echo $arrayOutput;



        }

        else if (strlen($out) <= 0)
        {
            echo "---None supplied---";
        }
        else
        {
        echo $out;
        }
        echo '</td>';
        echo '</tr>';

    }


    echo '</table>';

Но, как вы можете видеть здесь, у нас есть несколько разных $name от $_POST, когда мы вызываем его в нашем цикле foreach.

И как вы можете видеть, когда я делаю is_array($out), я взрываю массив и делю его на ",", потому что мне нужно только получить полные имена для провинций, у меня есть флажок для статуса, и он должен только отображать какое значение в флажке было. Я пытаюсь выяснить, как я могу получить ключ $ в $PROVINCES, чтобы заменить взорванные значения в $_POST['провинция']

Надеюсь, я объяснил это достаточно хорошо, чтобы люди поняли.

0 ответов

Другие вопросы по тегам