我正在研究一些将自定义字段中的信息发布到数据库的代码。
以下代码检查是否存在 $ meta_key :
// Apply filters to keys
$this->keys = apply_filters('sc_meta_keys', $this->keys);
// See if the current meta_key is in the array keys
if($this->in_array_recursive($meta_key, $this->keys)) {
if($action == "add") {
//information from array gets added to DB
}
}else{
//Do something else
}
但我不确定如何检查 meta_key 中是否有值,因为如果没有值,我不希望if语句运行。
数组将始终具有键,但并非每个帖子都必须填充自定义字段。
答案 0 :(得分:2)
可能你应该这样做。这将检查$ metakey是否存在。
// See if the current meta_key is in the array keys
if (isset( $meta_key )) && (is_array($meta_key) && ($this->in_array_recursive($meta_key, $this->keys))) {
答案 1 :(得分:0)
您应该始终检查是否设置了变量并使用utlize短路运算符来减少条件的处理时间。由于您还没有包含设置 $ meta_key 的逻辑,因此我会检查它是否已确定。
$this->keys = apply_filters('sc_meta_keys', $this->keys);
// See if the current meta_key is in the array keys
if( isset( $meta_key ) && ! empty( $this->keys ) && $this->in_array_recursive( $meta_key, $this->keys ) ) {
if($action == "add") {
//information from array gets added to DB
}
}
else {
//Do something else
}