PHP-首先将唯一键推送到数组,然后添加值
我有一个foreach循环,在这个循环中,我遍历一个内容集合,并使用内容关系中的值创建一个关联数组。代码如下:PHP-首先将唯一键推送到数组,然后添加值,php,arrays,Php,Arrays,我有一个foreach循环,在这个循环中,我遍历一个内容集合,并使用内容关系中的值创建一个关联数组。代码如下: $contentTaxonomies = []; foreach($contents as $content) { foreach($content->taxonomies as $taxonomy){ $contentTaxonomies[$content->id][$taxonomy->type->na
$contentTaxonomies = [];
foreach($contents as $content) {
foreach($content->taxonomies as $taxonomy){
$contentTaxonomies[$content->id][$taxonomy->type->name] = $taxonomy->name;
}
}
但是,这意味着如果
内容
没有任何分类法
它就不在$contenttaxonomics
数组中,我如何循环,当它没有分类法时,它仍然会以空值添加到数组中?您可以这样做:
$contentTaxonomies = [];
foreach($contents as $content) {
$contentTaxonomies[$content->id] = [];
foreach($content->taxonomies as $taxonomy){
$contentTaxonomies[$content->id][$taxonomy->type->name] = $taxonomy->name;
}
}
Basicali I将空数组初始化为$content->id键的值,然后最终用数据填充它。只需在完整分类之前创建数组:
$contentTaxonomies = [];
foreach($contents as $content) {
$contentTaxonomies[$content->id] = [];
foreach($content->taxonomies as $taxonomy){
$contentTaxonomies[$content->id][$taxonomy->type->name] = $taxonomy->name;
}
}
是的,当然,这就是我想要的,谢谢!你不认为当
内容
没有分类法
时,内部的foreach
会出错吗?
$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;
}
}
}