GC_Date_Query::build_value()
最后更新于:2021-11-27 13:14:27
GC_Date_Query::build_value( string$compare, string|array$value)Builds and validates a value string based on the comparison operator.
参数
- $compare
-
(string) (Required) The compare operator to use.
- $value
-
(string|array) (Required) The value.
响应
(string|false|int) The value to be used in SQL or false on error.
源文件
文件: gc-includes/class-gc-date-query.php
public function build_value( $compare, $value ) {
if ( ! isset( $value ) ) {
return false;
}
switch ( $compare ) {
case 'IN':
case 'NOT IN':
$value = (array) $value;
// Remove non-numeric values.
$value = array_filter( $value, 'is_numeric' );
if ( empty( $value ) ) {
return false;
}
return '(' . implode( ',', array_map( 'intval', $value ) ) . ')';
case 'BETWEEN':
case 'NOT BETWEEN':
if ( ! is_array( $value ) || 2 !== count( $value ) ) {
$value = array( $value, $value );
} else {
$value = array_values( $value );
}
// If either value is non-numeric, bail.
foreach ( $value as $v ) {
if ( ! is_numeric( $v ) ) {
return false;
}
}
$value = array_map( 'intval', $value );
return $value[0] . ' AND ' . $value[1];
default:
if ( ! is_numeric( $value ) ) {
return false;
}
return (int) $value;
}
}