我有一个foreach循环,我在其中浏览了一系列内容,并且我正在使用内容关系中的值创建一个关联数组。这是代码:
$contentTaxonomies = [];
foreach($contents as $content) {
foreach($content->taxonomies as $taxonomy){
$contentTaxonomies[$content->id][$taxonomy->type->name] = $taxonomy->name;
}
}
但是,这意味着如果content
没有任何taxonomies
它不会在$contentTaxonomies
数组中,那么如何在不存在./gradlew -q app:dependencies
数组的情况下进行循环有分类法,它仍然会添加到一个只有空值的数组?
答案 0 :(得分:1)
你可以这样做:
$contentTaxonomies = [];
foreach($contents as $content) {
$contentTaxonomies[$content->id] = [];
foreach($content->taxonomies as $taxonomy){
$contentTaxonomies[$content->id][$taxonomy->type->name] = $taxonomy->name;
}
}
Basicaly我将空数组初始化为$ content-> id键的值,然后最终用数据填充它。
答案 1 :(得分:0)
只需在循环分类法之前创建数组:
$contentTaxonomies = [];
foreach($contents as $content) {
$contentTaxonomies[$content->id] = [];
foreach($content->taxonomies as $taxonomy){
$contentTaxonomies[$content->id][$taxonomy->type->name] = $taxonomy->name;
}
}
答案 2 :(得分:0)
$contentTaxonomies = [];
foreach($contents as $content) {
$contentTaxonomies[$content->id] = [];
if(isset($content->taxonomies)){ // This will check if `content` has taxonomies or not. Otherwise it will give error due to for each loop
foreach($content->taxonomies as $taxonomy){
$contentTaxonomies[$content->id][$taxonomy->type->name] = $taxonomy->name;
}
}
}