为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取从 laravel foreach 返回的数组而不是 json 数组?

如何获取从 laravel foreach 返回的数组而不是 json 数组?

PHP
呼啦一阵风 2021-12-03 19:09:48
我正在尝试根据输入值使用 laravel foreach 返回一组值。这是我的预期输出    [[    "number": 2567046807891,    "message": "THis is a test",    "sender": "Oasis Agrib"],[    "number": 256782248927,    "message": "THis is a test",    "sender": "Oasis Agrib"]]但我得到了这个[{"number": 2567046807891,"message": "THis is a test","sender": "Oasis Agrib"},{"number": 256782248927,"message": "THis is a test","sender": "Oasis Agrib"}]这是我尝试过的$batch = array();                foreach($data as $v){                    $phone_number = $v['phonenumber'];                    $batch[] = array('number' => $phone_number,'message' => $message, 'sender' => $sender);                }                return $batch;如何最好地解决这种情况
查看完整描述

2 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

带大括号的预期结果是正确的。数组(也称为列表)[]包含元素并且不能具有属性/键:


[

    [], // another array/list

    {}, //object

    "", //string

]

因此,为了使用键/值对,您必须使用一个对象:


{

    "number": 256782248927,

    "message": "THis is a test",

    "sender": "Oasis Agrib"

}

将多个对象合并到一个列表中,您最终会得到您已经发布的结果:


[

    {

        "number": 2567046807891,

        "message": "THis is a test",

        "sender": "Oasis Agrib"

    },

    {

        "number": 256782248927,

        "message": "THis is a test",

        "sender": "Oasis Agrib"

    }

]

请注意,外部 API 不会处理您的“预期”结果,因为语法无效,它应该返回错误或丢弃无效的 JSON。


查看完整回答
反对 回复 2021-12-03
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

如果要将 JSON 结构用作 PHP 数组,可以使用该函数json_decode()并将第二个标志设置为true


$json_string = '[

    {

        "number": 2567046807891,

        "message": "THis is a test",

        "sender": "Oasis Agrib"

    },

    {

        "number": 256782248927,

        "message": "THis is a test",

        "sender": "Oasis Agrib"

    }

]' ;  

$array = json_decode($json_string, true);

您现在可以将其$array用作经典的 PHP 关联数组。


查看完整回答
反对 回复 2021-12-03
  • 2 回答
  • 0 关注
  • 220 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信