从html/php中从数组和内爆列表中获取多个值


Get multiple values from form in html/php from an array and implode list values?

不是php专家,尝试在下拉菜单中应用多重选择:

<?php if ( !empty( $categories ) ) : ?>
   <label for="<?php echo $widget_id; ?>-categories"><?php _e( 'find', 'GeoMashup' ); ?>
   <select multiple id="<?php echo $widget_id; ?>-categories" name="map_cat">
   <?php foreach ( $categories as $cat ) : ?>
     <option value="<?php echo $cat->term_id; ?>"<?php
        if ( $widget->get_default_value( $_POST, 'map_cat' ) == $cat->term_id )
            echo ' selected="selected"';
    ?>><?php echo $cat->name; ?></option>
<?php endforeach; ?>
</select>
<?php _e( 'posts', 'GeoMashup' ); ?></label>

目前,即使我在html选择中添加了multiple,我得到的结果也只是1选择,好像它不识别多重选择

您必须将[]添加到select元素的名称中。除非这样做,否则您将只接收到最后一个元素(正如您已经注意到的)。您将收到一个数组[]。

<select multiple id="<?php echo $widget_id; ?>-categories" name="map_cat[]">