【问题标题】:Update and extend post meta with nested array and count使用嵌套数组和计数更新和扩展帖子元
【发布时间】:2019-10-08 08:35:25
【问题描述】:

我使用下面的 PHP 代码来更新帖子元数据。我的目标是用一个新数组扩展当前的帖子元数据。 问题 是我得到了很多保持在 [0] 的嵌套数组。它应该继续计算数组。

我的 PHP 代码:

$my_array =   // This changes every time
   array(
   'name' => 'Name 3',
   'amount' => '30',
   'date' => '2019-09-28',
   'message' => 'Test 3',);

$get_post_meta = get_post_meta('33300', 'test_post_meta');

$combine_arrays = $get_post_meta + $my_array;

update_post_meta('33300', 'test_post_meta', $combine_arrays);

帖子元输出是这样的:

array ( // The arrays are all nested
  0 => 
  array (
    0 => 
    array (
      0 => 
      array (
        'name' => 'Name 1',
        'amount' => '10',
        'date' => '2019-09-26',
        'message' => 'Test 1',
      ),
      'name' => 'Name 2',
      'amount' => '20',
      'date' => '2019-09-27',
      'message' => 'Test 2',
    ),
    'name' => 'Name 3',
    'amount' => '30',
    'date' => '2019-09-28',
    'message' => 'Test 3',
  ),
)

虽然它应该是这样的:

array ( // It should look like this and count
  0 => 
      array (
        'name' => 'Name 1',
        'amount' => '10',
        'date' => '2019-09-26',
        'message' => 'Test 1',
      ),
  1 => 
    array (
      'name' => 'Name 2',
      'amount' => '20',
      'date' => '2019-09-27',
      'message' => 'Test 2',
    ),
 2 => 
  array (
    'name' => 'Name 3',
    'amount' => '30',
    'date' => '2019-09-28',
    'message' => 'Test 3',
  ),
)

任何想法如何解决这个问题?数组的计数必须自动进行。

【问题讨论】:

标签: php arrays wordpress


【解决方案1】:

好的,我自己发现了。问题是我必须在 [0] 级别上合并。

这是解决方案

$array = array (
    'test' => // This will change every time
    array (
      0 => 'Value 0',
      1 => 'Value 1',
      2 => 'Value 2',
      3 => 'Value 3',
    ),
  );

  $get_post_meta = get_post_meta('33300', 'test_post_meta');
  $result = array_merge($get_post_meta[0], $array); // Merge on the [0] level.

  update_metadata( 'post', '33300', 'test_post_meta', $result); // Update merged array

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 2015-02-26
    • 2019-05-18
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多