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

时间:2015-11-25 12:21:27

标签: php arrays

我有一个名为$brand_terms的数组。我正在访问此数组中的两个对象。在这种情况下'name'和'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循环的最后一次迭代中删除这个逗号?

由于

2 个答案:

答案 0 :(得分:7)

这种语法完全错误。你不能在数组声明中有一个循环。

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

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

答案 1 :(得分:2)

实际上,问题根本不是JSONSchemaValidator.validate(jsonBody, <path_of_your_schema_file>); JSONObject jsonObj = JSONObject.fromObject(jsonBody); 文字,实际上这不是有效的PHP。您不能在数组声明中包含,循环。

最好的方法是定义数组,然后循环遍历foreach返回值,如下所示:

get_terms()