PHP:在关联数组中动态设置值


PHP: Dynamically setting values in an associative array

我有一个名为$brand_terms的数组。我正在访问这个数组中的两个对象。在本例中为"name"answers"slug"。然后,我尝试在一个名为$values的关联数组中设置这些对象的值。代码如下:

$brand_terms = get_terms("pa_brand");
$values = array(
    foreach ($brand_terms as $brand_term){
        $brand_term->name => $brand_$term->slug, 
    }
);

我遇到的问题是分离器,。所以$brand_term->name => $brand_$term->slug,末尾的逗号。如果循环位于数组中的最后一个值,则不需要逗号,代码也会中断。有没有一种很好的方法可以从foreach循环的最后一次迭代中删除这个逗号?

感谢

该语法完全错误。数组声明中不能有循环。

相反,创建数组,然后在循环期间将元素推入其中:

$brand_terms = get_terms("pa_brand");
$values = array();
foreach ($brand_terms as $brand_term){
    $values[$brand_term->name] = $brand_$term->slug; 
}

实际上,问题根本不在于,文本,事实上这不是有效的PHP。数组声明中不能有foreach循环。

最好的方法是定义数组,然后循环通过get_terms()返回值,如下所示:

$values = array();
foreach( get_terms('pa_brand') as $term )
{
    $values[$term->name] = $term->slug;
}