【问题标题】:transform JavaScript object with arrays into a PHP array将带有数组的 JavaScript 对象转换为 PHP 数组
【发布时间】:2018-05-29 23:14:38
【问题描述】:

有没有人知道如何将此 javascript 对象转换为关联的 php 数组?

请注意,我不想将其读入 PHP,我希望在 PHP 中使用相同的数据结构,而无需遍历每一行并对其进行编辑,例如添加''=>

module.exports = {
  base: '/',
  api: {
    sentry: 'https://7ed0a4e5846c4c31a44812bd5e37c2a1@sentry.io/257382',
    wp: {
      imgSize: {
        _380x270: 'medium',
      }
    }
  },
  y: 2017,
  href: {
    authors: '#',
    fb: '#',
    instagram: '#',
    de: 'https://wearede.com/',
  },
  faction: {
    subscribe: "/",
    search: "/",
  },
  search: {
    tags: [{
        t: 'Lifestyle',
        h: '#'
      },
      {
        t: 'Politics',
        h: '#'
      },
      {
        t: 'Economy',
        h: '#'
      },
    ],
    articles: [{
        t: 'იოლანდა ჰადიდმა ჯიჯი ჰადიდის და ზეინ მალიკის ერთობლივი ფოტო გამოაქვეყნა',
        h: '#',
      },
      {
        t: 'ლარი ევროსთან მიმართებით რეკორდულად გაუფასურდა',
        h: '#',
      },
    ]
  },
  menuMain: [{
      h: '#',
      t: 'სიახლეები'
    },
    {
      h: '#',
      t: 'ბიზნესი და ტექნოლოგია'
    },
    {
      h: '#',
      t: 'Lifestyle'
    },
    {
      h: '#',
      t: 'მოგზაურობა'
    },
    {
      h: '#',
      t: 'გასტრონომია'
    },
    {
      h: '#',
      t: '<i class="i i--hammock fz-20"></i>'
    },
  ],
  footer: {
    authors: [{
        i: 'https://picsum.photos/55/55',
        h: '#',
        n: 'Rusudan Tinatin',
        t: 'Author',
        d: 'ლარი ევროსთან მიმართებით რეკორდულად გაუფასურდა',
      },
      {
        i: 'https://picsum.photos/55/55',
        h: '#',
        n: 'Rusudan Tinatin',
        t: 'Author',
        d: 'იოლანდა ჰადიდმა ჯიჯი ჰადიდის და ზეინ მალიკის ერთობლივი ფოტო გამოაქვეყნა',
      },
      {
        i: 'https://picsum.photos/55/55',
        h: '#',
        n: 'Rusudan Tinatin',
        t: 'Author',
        d: 'ლარი ევროსთან მიმართებით რეკორდულად გაუფასურდა',
      },
    ],
    nav: [{
        t: 'პირობები',
        h: '#'
      },
      {
        t: 'პირადი ინფორმაცია',
        h: '#'
      },
      {
        t: 'ჩვენს შესახებ',
        h: '#'
      },
      {
        t: 'კონტაქტი',
        h: '#'
      },
      {
        t: 'ავტორები',
        h: '#'
      },
    ],
    cats: [{
        t: 'სიახლეები',
        h: '#'
      },
      {
        t: 'Lifestyle',
        h: '#'
      },
      {
        t: 'გასტრონომია',
        h: '#'
      },
      {
        t: 'ბიზნესი და ტექნოლოგია',
        h: '#'
      },
      {
        t: 'მოგზაურობა',
        h: '#'
      },
      {
        t: 'Hammock',
        h: '#'
      },
    ],
    articles: {
      items: articles.slice(0, 3),
      i: 'https://picsum.photos/380/260',
      t: 'დეკანოზი გიორგი მამალაძე სასამართლომ დამნაშავედ ცნო',
      h: '#',
    },
  }
}

目前我正在考虑在 vim 中录制宏的选项,但这需要相当长的时间,而且我发现这种方法存在潜在的缺陷。

【问题讨论】:

  • 在 Javascript 中使用 JSON.stringify(),在 PHP 中使用 json_decode() 解析它,然后使用 var_export() 将其打印为 PHP 数组字面量。
  • 顺便说一句,这不是 Javascript 对象的数组。这是一个单一的对象。一些属性包含对象数组。
  • @Barmar 我错过了var_export() 的知识,谢谢!还修改了问题,你的权利。
  • @LorenzMeyer 我很高兴你能回答。我们俩同时想到。
  • @Barmar 既然你们都很好,我接受答案。

标签: javascript php arrays


【解决方案1】:

将此对象转换为 JSON 字符串。然后在 PHP 中,你可以json_decodevar_export

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 2014-01-19
    • 2019-10-22
    • 1970-01-01
    • 2021-01-07
    • 2018-12-22
    • 1970-01-01
    相关资源
    最近更新 更多