首页 > 解决方案 > 为什么我的关联数组被转换为对象 PHP?

问题描述

我正在创建一个这样的关联数组

public function getEnumFlag(){
    $enums = Category::getPossibleEnumValues('flag');

    $enumArray = array();

    foreach($enums as $enum){
        $enumArray[$enum] = $enum;
    }

    return $enumArray;
}

然后我将返回值分配给一个对象。

$flags = $this->getEnumFlag();
        
$options = (object) array(
    "flags" => $flags,
);

我得到的是这个。

"flags": [
     {
         "General": "General",
         "Article": "Article",
         "Link": "Link",
         "Blog": "Blog"
     }
 ]

预期是。

"flags": [
    "General": "General",
    "Article": "Article",
     "Link": "Link",
     "Blog": "Blog"
 ]

我不知道为什么要将关联数组更改为我的 php 版本为 7.4 的对象,如果没有使用正确的术语,我也是 php 的新手。

标签: phparraysjsonlaravel

解决方案


正如@lagbox 所说:

JSON 没有关联数组,它们为此使用对象


推荐阅读