【问题标题】:Why my associative array is converted to object PHP?为什么我的关联数组被转换为对象 PHP?
【发布时间】:2021-04-20 17:54:49
【问题描述】:

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

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 的新手。

【问题讨论】:

  • JSON 没有关联数组,它们为此使用对象
  • 谢谢,是真的
  • 您正在这里生成/初始化您的数组... $enums = Category::getPossibleEnumValues('flag');你能提供那个方法的代码吗?
  • 问题已解决@lagbox 是 rigth JSON 没有关联数组。

标签: php arrays json laravel


【解决方案1】:

正如@lagbox 所说:

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

【讨论】:

    猜你喜欢
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 2022-11-22
    相关资源
    最近更新 更多