Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从一个数组中的html/php表单中获取多个值并对列表值进行内爆?_Php - Fatal编程技术网

从一个数组中的html/php表单中获取多个值并对列表值进行内爆?

从一个数组中的html/php表单中获取多个值并对列表值进行内爆?,php,Php,不是php专家,试图在thsi代码中的下拉列表上应用多选: <?php if ( !empty( $categories ) ) : ?> <label for="<?php echo $widget_id; ?>-categories"><?php _e( 'find', 'GeoMashup' ); ?> <select multiple id="<?php echo $widget_id; ?>-categori

不是php专家,试图在thsi代码中的下拉列表上应用多选:

<?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>


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


i get:Warning:preg_split()希望参数2是字符串,数组以yes给出,因为您将收到一个数组,而不是字符串。这甚至写在我的答案中。我明白了,之后如何从数组中获取值?循环遍历它或使用infrade()生成字符串。是的,因为您的错误行是
$array=map\u cat[]这是不正确的。猫的地图什么都不是。您必须通过$\u GET或$\u POST访问表单输入(取决于您对表单使用的方法)。所以它应该是
$array=$\u POST['map\u cat']$逗号分隔=内爆(“,”,$array);-echo$逗号分隔。是的,不是。因为[]仅用于通知浏览器将其作为数组发送。