Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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
替换空值php、html_Php_Html_If Statement_Echo - Fatal编程技术网

替换空值php、html

替换空值php、html,php,html,if-statement,echo,Php,Html,If Statement,Echo,我的一行代码有点问题 这是一个price字段,当没有添加price时,我希望它输出‘no price’,而默认情况下它只输出一个空格,下面是代码 <p class="post-price"><?php cp_get_price( $post->ID, 'cp_price' );?> </p> 假设cp\u get\u price($post->ID,'cp\u price')返回的是空值而不是空格字符,则可以使用'or'运算符返回计算结果为true的第

我的一行代码有点问题

这是一个price字段,当没有添加price时,我希望它输出‘no price’,而默认情况下它只输出一个空格,下面是代码

<p class="post-price"><?php cp_get_price( $post->ID, 'cp_price' );?> </p>

假设
cp\u get\u price($post->ID,'cp\u price')
返回的是空值而不是空格字符,则可以使用'or'运算符返回计算结果为
true的第一个值

<?
$var = cp_get_price($post->ID, 'cp_price');
echo $var || 'NO PRICE';
?>

更新:

由于返回的是空格字符,因此可以使用:

<?
$var = cp_get_price($post->ID, 'cp_price');
echo ($var == ' ') ? 'NO PRICE' : $var;
?>


我真是个笨蛋。我所需要的只是朝正确的方向推动。谢谢大家,现在解决了

if ( !function_exists('cp_get_price') ) {
function cp_get_price( $postid, $meta_field ) {
global $cp_options;

if ( get_post_meta( $postid, $meta_field, true ) ) {

    $price_out = get_post_meta( $postid, $meta_field, true );
    $price_out = cp_price_format( $price_out );
    $price_out = cp_pos_currency( $price_out, 'ad' );

} else {
    if ( $cp_options->force_zeroprice )
        $price_out = cp_pos_currency( 0, 'ad' );
    else
        $price_out = '&nbsp;';
}

echo $price_out;
}
}
我编辑了这一行

$price_out = '&nbsp;'; 
像这样,

$price_out = 'NO PRICE';

谢谢。

尝试
不,这不起作用@Fred ii您的函数将进行回声而不是返回输出。编辑函数以修复它,或者使用输出缓冲作为解决方法。见解决。感谢您向正确的方向轻推。:)它正在返回一个空格字符。知道它不是简单的Lolnop,仍然只返回一个空格(你确定你不是在谈论
?>

之间的空格吗?不,因为当添加一个值时,空格会被替换。我会用前端和后端的完整代码更新我的原始帖子……你没有添加相关的函数Nope,没有工作,它在所有价格字段上都没有显示价格,而不仅仅是空的。
<?
$var = cp_get_price($post->ID, 'cp_price');
echo $var || 'NO PRICE';
?>
<?
$var = cp_get_price($post->ID, 'cp_price');
echo ($var == ' ') ? 'NO PRICE' : $var;
?>
<?php echo cp_get_price( $post->ID, 'cp_price' ) ? cp_get_price( $post->ID, 'cp_price' ) : 'NO PRICE'; ?>
if ( !function_exists('cp_get_price') ) {
function cp_get_price( $postid, $meta_field ) {
global $cp_options;

if ( get_post_meta( $postid, $meta_field, true ) ) {

    $price_out = get_post_meta( $postid, $meta_field, true );
    $price_out = cp_price_format( $price_out );
    $price_out = cp_pos_currency( $price_out, 'ad' );

} else {
    if ( $cp_options->force_zeroprice )
        $price_out = cp_pos_currency( 0, 'ad' );
    else
        $price_out = '&nbsp;';
}

echo $price_out;
}
}
$price_out = '&nbsp;'; 
$price_out = 'NO PRICE';