我有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);
答案 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()更安全一些。