PHP如何将一个数组追加到多个数组中(避免重复编写)
解决PHP中向多个数组追加同一元素的问题
方法一:定义复用变量(最直接)
先把需要重复添加的数组项单独存成变量,再分别追加到两个目标数组里,避免重复编写代码:
$tq_exact_matches = array('relation' => 'AND'); $tq_any_matches = array('relation' => 'OR'); // 定义要复用的查询数组 $tax_query_item = array( 'taxonomy' => 'focus-area', 'field' => 'name', 'terms' => $pluck_term_names_fa, ); // 分别追加到两个数组 $tq_exact_matches[] = $tax_query_item; $tq_any_matches[] = $tax_query_item;
这种方式的好处是后续如果需要修改这个查询项的参数,只需要改动$tax_query_item这一处,不用同时修改两个数组的追加代码,维护更高效。
方法二:批量循环处理(适合多目标数组场景)
如果后续可能需要向更多数组追加同一元素,可以把所有目标数组放进一个集合,通过循环批量添加:
$tq_exact_matches = array('relation' => 'AND'); $tq_any_matches = array('relation' => 'OR'); $tax_query_item = array( 'taxonomy' => 'focus-area', 'field' => 'name', 'terms' => $pluck_term_names_fa, ); // 将目标数组以引用方式存入集合(必须用&,否则修改的是副本) $target_arrays = array(&$tq_exact_matches, &$tq_any_matches); // 循环追加元素到每个目标数组 foreach ($target_arrays as &$arr) { $arr[] = $tax_query_item; }
这种方式扩展性更强,后续新增需要追加的数组时,只需要在$target_arrays里添加对应的引用即可。
内容的提问来源于stack exchange,提问作者klewis
相关产品推荐
相关产品推荐

