php - 未命名的数组中的Wordpress和PHP循环?
问题描述
希望这是一个简单的问题。当循环未命名时,我找不到关于如何在数组中定位数组的答案。例如,我最终需要得到这样的结果:
$args = array(
'role' => 'artist',
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_query' => array(
'relation' => 'AND',
array(
'relation' => 'OR',
// $medium_array,
array(
'key' => 'artist_medium',
'value' => 'Wood',
'compare' => 'LIKE',
),
array(
'key' => 'artist_medium',
'value' => 'Painting',
'compare' => 'LIKE',
)
),
array(
'key' => 'studio_region_location',
'value' => 'London',
'compare' => 'LIKE',
)
)
);
我一直在做的是成功地循环到 $meta_query[],但我不知道如何进入“meta_query”中的第二个数组。我尝试了以下但没有运气:
$_POST['mediumType'] = array('Wood', 'Painting');
$_POST['locationType'] = array('London');
$meta_query = array(
'relation' => 'AND',
array('relation' => 'OR')
);
foreach ($_POST['mediumType'] as $val){
$meta_query[][] = array(
'key' => 'artist_medium',
'value'=> $val,
'compare' =>'LIKE'
);
}
foreach ($_POST['locationType'] as $loc){
$meta_query[] = array(
'key' => 'studio_region_location',
'value'=> $loc,
'compare' =>'LIKE'
);
}
所以希望有人能帮忙。我知道我在这里遗漏了一些明显的东西,但是通过谷歌搜索,我只能找到如何定位该子数组(如果它被命名)。这是 print_r 报告的上述代码提供的内容:
Array ( [role] => artist [orderby] => meta_value [order] => ASC [meta_query] => Array ( [relation] => AND [0] => Array ( [relation] => OR ) [1] => Array ( [0] => Array ( [key] => artist_medium [value] => Fabric - decorative [compare] => LIKE ) ) [2] => Array ( [0] => Array ( [key] => artist_medium [value] => Metal [compare] => LIKE ) ) [3] => Array ( [key] => studio_region_location [value] => Dublin / Marlborough / Jaffrey [compare] => LIKE ) ) )
谢谢!
解决方案
我明白了,感谢大家的帮助。:) 数字或假键名有效!
foreach ($_POST['mediumType'] as $val){
$meta_query[0][] = array(
'key' => 'artist_medium',
'value'=> $val,
'compare' =>'LIKE'
);
}
推荐阅读
- c# - 即使 HTTPGetEnabled 设置为 true,也无法访问 WSDL
- javascript - postMessage() 到子窗口无法发布
- c# - 控制器中的 JSON 函数代码无法与 MVC 中的以下代码一起使用
- python - 如何从正在运行的 python 文件中编辑字典?
- vue.js - 关于 Vue.js 模板只接受一个根
- flutter - Flutter错误:子树中有多个英雄共享相同的标签
- reactjs - 在类组件中工作,但在钩子中,val() 函数调用无限次
- nativescript - 在 NativeScript 中调整图像大小?
- angular - Jasmine 间谍无法在 Ionic App 中使用电容器插件
- proxy - 从 LAN 连接到 Internet 域