繁体   English   中英

如何在PHP中更改数组结构

[英]How to Change Array Structure in PHP

我有一个以下形式的数组,

Array
(
    [0] => Array
        (
            [emailAddress] => abc@gmail.com
            [subject] => Hi
            [content] => How are you?
            [attachment] => QmFzZTY0IGlzIGFuIGVuY29kaW5nIHNjaGVtZSB1c2VkIHRvIHJlcHJlc2VudCBiaW5hcnkgZGF0YSBpbiBhbiBBU0NJSSBmb3JtYXQuIA==
            [fileName] => Base 64 Encoder
        )
)

我怎么能在下面的表格中得到它:

Array
(
    [emailAddress] => abc@gmail.com
    [subject] => Hi
    [content] => How are you?
    [attachments] => Array
        (
            [attachment] => QmFzZTY0IGlzIGFuIGVuY29kaW5nIHNjaGVtZSB1c2VkIHRvIHJlcHJlc2VudCBiaW5hcnkgZGF0YSBpbiBhbiBBU0NJSSBmb3JtYXQu
            [fileName] => Base 64 Encoder
        )

)

有没有办法将[attachments] => Array的类型转换为[attachments] => Object 如下:

Array
(
    [emailAddress] => abc@gmail.com
    [subject] => Hi
    [content] => How are you?
    [attachments] => Object
        (
            [attachment] => QmFzZTY0IGlzIGFuIGVuY29kaW5nIHNjaGVtZSB1c2VkIHRvIHJlcHJlc2VudCBiaW5hcnkgZGF0YSBpbiBhbiBBU0NJSSBmb3JtYXQu
            [fileName] => Base 64 Encoder
        )

)

我试图查看一些方法(如array_push,array_splice等),但仍然无法得到它。 希望有人可以帮助我。 谢谢。

试试这个

$result = array();
$result = $arr[0];
$result['attachments'] = new stdClass();
$result['attachments']->attachment = $result['attachment'];
$result['attachments']->fileName = $result['fileName'];
unset($result['attachment']);
print_r($result);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM