首页 > 解决方案 > 如何构建这样的无键数组?

问题描述

在 PHP 中,我需要动态构建一个数组,其中数组的某些元素是无键的。

我试过没有数字键的 PHP array_push 没有任何乐趣。很可能是我(这里已经很晚了)。我只是不断地得到错误的结构(这是漫长的一天)。

// This is built dynamically
$metaquery1 = [
  'key' => 'field1',
  'value' => 'value1',
];

// This is built dynamically
$metaquery2 = [
  'key' => 'field2',
  'value' => 'value2',
];

$query = [
  'post_type' => 'post',
  'meta_query' => [
    'relation' => 'OR',
    $metaquery1,
    $metaquery2,
  ],
];

我期待:-

$query = [
  'post_type' => 'post',
  'meta_query' => array(
    'relation' => 'OR',
    [
      'key' => 'field1',
      'value' => 'value1',
    ],
    [
      'key' => 'field2',
      'value' => 'value2',
    ],
];

但我得到: -

$query = [
  'post_type' => 'post',
  'meta_query' => array(
    'relation' => 'OR',
    [0] => [
      'key' => 'field1',
      'value' => 'value1',
    ],
    [1] => [
      'key' => 'field2',
      'value' => 'value2',
    ],
];

标签: phparrays

解决方案


PHP 中的所有数组实际上都是有序映射。没有键就没有值这样的东西。


推荐阅读