<?php
$condition = array(
'AND',
array(
array(
'field' => 'grid_enable',
'compare' => '==',
'value' => 1
),
),
array(
array(
'field' => 'grid_column',
'compare' => '>=',
'value' => 3
),
),
array(
'OR',
array(
'field' => 'filter',
'compare' => '!=',
'value' => 1
),
array(
'field' => 'align',
'compare' => '==',
'value' => 'left'
)
),
array(
array(
'field' => 'grid_gutter',
'compare' => '==',
'value' => 'large'
),
),
);
print_r($condition);
$final_result = '';
$double = false;
foreach($condition as $k=>$v){
$result = [];
if(!is_array($v)){
$operator_out = $v;
}else{
foreach($v as $k1=>$v1){
if(!is_array($v1)){
$operator_inn = $v1;
}else{
$result[] = implode(' ',array_values($v1));
}
}
}
if(count($result) == 1){
if($double){
$final_result.= " ".$operator_out." ".$result[0];
}else{
$final_result.= $result[0]." ".$operator_out." ";
}
}
else if(count($result) == 2){
$final_result.= "(".implode(" $operator_inn " , $result).")";
$double= true;
}
}
echo $final_result;
?>
preferences:
55.19 ms | 406 KiB | 5 Q