如何为没有数据的字段定义变量?

问题描述 投票:-1回答:1

我使用许多自定义字段在WordPress网站上调用了大量数据。这些字段不需要填写后端。所以在我的模板中,我有这样的调用:

<?php if( $additional_fields[ 'Time' ] ) { echo 'Duration: ' . $additional_fields[ 'Time' ] . '<br>'; } ?>

现在这确实有效。哪个好。但是如果我打开WP Debug,并且该字段没有数据,我会受到以下问题的欢迎:

注意:未定义的索引:第63行的/home/hellod8/public_html/wp-content/themes/my-theme/page-data.php中的时间

再一次,不是关键任务。如果我关闭调试,问题就会消失。但是,我还是想解决这个问题。

我以为我可以在函数调用之上执行此操作:

<?php $additional_fields[ 'Time' ] = ''; ?>

但所有这一切都不会显示该领域的任何内容。

那么什么可以消除错误?

php wordpress runtime-error call
1个回答
2
投票

您可以使用isset()来确定变量是否已设置。例:

if( isset($additional_fields['Time']) ){
    echo $additional_fields['Time'];
}

如果您要查看变量是否已设置且不为空,则可以使用empty()。例:

if( !empty($additional_fields['Time']) ){
    echo $additional_fields['Time'];
}

empty()将检查无数的变量isset,或者值是blankzerofalsenullempty()isset()略慢(主要是因为这些额外的检查)。

空将与说:

if( isset($additional_fields['Time']) && $additional_fields['Time'] ){
    echo $additional_fields['Time'];
}

isset() - http://php.net/manual/en/function.isset.php

empty() - http://php.net/manual/en/function.empty.php

© www.soinside.com 2019 - 2024. All rights reserved.