我试过像$meta\\u rwp\\u user\\u score=(number\\u format\\u i18n($meta\\u rwp\\u user\\u score,2)),但这是行不通的。我在哪里使用它?
<?php
$meta_rwp_user_score[\'meta_rwp_user_score\'] = get_post_meta(($anbieter_id),\'rwp_user_score\',true);
foreach ( $meta_rwp_user_score as $key => $value ) :
if ( \'revision\' === $post->post_type ) {
return;
}
if ( get_post_meta( $postid, $key, false ) ) {
// If the custom field already has a value, update it.
update_post_meta( $postid, $key, $value );
} else {
// If the custom field doesn\'t have a value, add it.
add_post_meta( $postid, $key, $value);
}
if ( ! $value ) {
// Delete the meta key if there\'s no value
delete_post_meta( $postid, $key );
}
endforeach;
?>
最合适的回答,由SO网友:simongcc 整理而成
根据数据库模式meta_value
存储为longtext
. 这可能是因为通用目的。所以,要获得一个数值。这样做有两个部分。
保存
虽然它是以长文本形式存储的,但它仍然适合准备正确的数字格式,以便在检索时,它可能是预期的转换值。因此,对于保存前的检查,可以使用
is_float() 或
is_numeric() 等等,以确保预期的存储值。
如果从数据库中获取元值后需要类型浮点数才能在代码中正确操作它,则进行检索。您可以考虑使用php内置函数floatval() 用于在使用之前转换浮点数。另一个是intval() 用于整数。
$meta_rwp_user_score[\'meta_rwp_user_score\'] = floatval( get_post_meta(($anbieter_id),\'rwp_user_score\',true) );
// any text will be converted to 0
// manipulate as needed