将foreach值与php中的$ _POST进行比较

时间:2017-01-27 14:45:56

标签: php json post

我正在使用json文件中的选项填充选择框,并尝试将$_POST中的值设置为已选中。我将所有值打印为选项但未选中。
$marke$post进行比较时似乎出现了问题,因此无法选择任何内容。

<select name="marke" id="marke"class="form-control">
    <?php
    $url = 'includes/lists/models.json';
    $jsonData = file_get_contents($url); 
    $jsonDataObject = json_decode($jsonData, true);
    $post = $_POST['marke'];
    $i = 0;             
    echo '<option>--</option>';
    foreach ($jsonDataObject['markes'] as $marke) {
        if ($marke==$post) {
            echo '<option selected value="'.$marke['title'].'" id="'.$i.'">'.$marke['title'].'</option>';
        }else{
            echo '<option value="'.$marke['title'].'" id="'.$i.'">'.$marke['title'].'</option>';
        }
        $i++;
    }
    ?>
</select>

P.S $_POST['marke']设置正确。

1 个答案:

答案 0 :(得分:0)

据我所知,$marke是一个数组,很可能$_POST['marke']是一个字符串或int。

 if ($marke['title']==$post) {

而不是

 // You'd be comparing a $marke array with $_POST['marke'] string
 if ($marke==$post) {