Php 有条件地将键/值对添加到数据库中的数组中
如果有搜索项,我只想有条件地向数组中添加Php 有条件地将键/值对添加到数据库中的数组中,php,arrays,wordpress,if-statement,woocommerce,Php,Arrays,Wordpress,If Statement,Woocommerce,如果有搜索项,我只想有条件地向数组中添加's'=>$search\u term $args = array( // if there is a $search_term then insert: 's' => $search_term ); 我知道我可以写很多参数,然后在数组外使用if语句,但这不是我想要做的 您需要在数组外部执行此操作,就像在数组中声明键“s”一样(如果没有搜索项,则使用空值) 尝试以下方法,在定义的数组中有条件地插入新的键/值对: // Initia
's'=>$search\u term
$args = array(
// if there is a $search_term then insert:
's' => $search_term
);
我知道我可以写很多参数,然后在数组外使用if语句,但这不是我想要做的
您需要在数组外部执行此操作,就像在数组中声明键“s”
一样(如果没有搜索项,则使用空值)
尝试以下方法,在定义的数组中有条件地插入新的键/值对:
// Initialize (or define) the array variable
$args = array();
// IF + Condition
if( isset($search_term) && ! empty($search_term) ){
// Inserting in $args array a new key / value pair
$args['s'] = $search_term;
}
或者如前所述,使用始终定义的's'
键,如下所示:
$args = array(
's' => isset($search_term) && ! empty($search_term) ? $search_term : '';
);
您的建议无法实现。PHP函数用于声明键和值。因此,在编写时:
$args = array(
's' => $search_term
);
它将创建密钥。您可以执行以下操作
$args = array(
's' => isset($search_term) ? $search_term : null
);
并使用isset($args['s'])进行查询,以执行您所描述的操作,但在我看来,依赖这种行为是不好的。如果数组值为null,则返回false
最好的方法是按照LoicTheAztec的建议,但您在这里有自己的解决方法。谢谢。如果(isset($search\u term)&&&!empty($search\u term)){//在$args数组中插入一个新的键/值对$args['s']=$search\u term;},我会使用此解决方案1.谢谢你help@AmjadKhalil不客气。我只是想说,我已经更新了我的第二个代码段,因为有一个小错误。谢谢。