在 PHP 中使用其自己的属性重命名对象键

我在 PHP 中有一个这样的对象-


array(2) {

  [0]=>

  object(stdClass)#1869 (10) {

    ["id"]=>

    string(1) "1"

    ["country"]=>

    string(7) "Austria"

    ["cat_one"]=>

    string(7) "#FFCB69"

  }

  [1]=>

  object(stdClass)#1868 (10) {

    ["id"]=>

    string(1) "2"

    ["country"]=>

    string(7) "Belgium"

    ["cat_one"]=>

    string(7) "#FFCB69"

  }

}

我想获取国家/地区属性并将其设置为根对象中每个值的键。foreach 会重置每个键上的整个对象值。预期结果类似于下面的结果 -


array(2) {

  [Austria]=>

  object(stdClass)#1869 (10) {

    ["id"]=>

    string(1) "1"

    ["cat_one"]=>

    string(7) "#FFCB69"

  }

  [Belgium]=>

  object(stdClass)#1868 (10) {

    ["id"]=>

    string(1) "2"

    ["cat_one"]=>

    string(7) "#FFCB69"

  }

}


明月笑刀无情
浏览 86回答 1
1回答

繁星淼淼

由于array_column可以从作为数组元素的对象中提取公共属性,因此您可以:$array = []; // your initial arrayprint_r(    array_combine(        // extract country property from each object        array_column($array, 'country'),         $array    ));但此方法不会删除 country每个对象的属性。
打开App,查看更多内容
随时随地看视频慕课网APP