如何在运行if语句之前检查数组中的$ meta_key是否有值

时间:2018-03-30 04:15:01

标签: php wordpress if-statement multidimensional-array metadata

我正在研究一些将自定义字段中的信息发布到数据库的代码。

以下代码检查是否存在 $ 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语句运行。

数组将始终具有键,但并非每个帖子都必须填充自定义字段。

2 个答案:

答案 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
}