将$ _POST添加到数组

时间:2014-10-12 16:48:57

标签: php arrays wordpress

我有1个数组:

$meta_array = array(
   'lot',
   'floor',
   'block'
);

如何将上述数组转换为显示

'lot' => $_POST['lot'], 'floor' => $_POST['floor']  

所以我可以update_post_meta($new, 'number' , $meta_array)这样。 我试图保存一些KB,因为我的表单php大小变得相当大。

感谢您的建议。

最后 - 我就是这个

        $new_meta = array();
        foreach($meta_array as $val){
            if (isset($_POST[$val])) {
                $new_meta[$val] = sanitize_array_text_field($_POST[$val]);
            }
        }
        update_post_meta($new, 'property', $new_meta);

3 个答案:

答案 0 :(得分:1)

使用:

$posted = array_combine ($meta_array, $_POST);

你会得到:

Array(
   [lot]   => $_POST['lot'],
   [floor] => $_POST['floor'],
   [block] => $_POST['block']
)

答案 1 :(得分:0)

使用foreach循环:

$meta_array = array('lot', 'floor', 'block');
$another_array = array();
foreach($meta_array as $val){
    $another_array[$val] = $_POST[$val];
}

答案 2 :(得分:0)

你也可以这样做:

if(isset($_POST['lot']))
    $meta_array['lot'] = $_POST['lot'];
if(isset($_POST['floor']))
    $meta_array['floor'] = $_POST['floor'];
if(isset($_POST['block']))
    $meta_array['block'] = $_POST['block'];

使用isset()更安全一些。