Как обойти массив PHP форсированием ключа - PullRequest
0 голосов
/ 15 октября 2018

У меня есть очень простой массив, куда я хочу, чтобы можно было добавлять настройки как можно проще.В моем случае, если мне не нужно второе значение, мне не нужно его добавлять.

Код

$settings = [
  'my_string',
  'my_array' => 'hello'
];

print_r($settings);

Результат

Проблема с моимПодход заключается в том, что my_string рассматривается как значение и добавляется ключ 0.

Array
(
    [0] => my_string
    [my_array] => hello
)

Я мог бы проверить, является ли ключ числом, и в этом случае выяснить, что я не используювторое значение.

Есть ли лучший подход?

Я знаю, что могу использовать несколько вложенных массивов, но тогда простота исчезнет.

1 Ответ

0 голосов
/ 15 октября 2018

Как вы и написали, вы не сможете получить доступ к значению 'my_string' без какого-либо ключа.Всегда есть ключ для любого значения, и если вы не укажете значения, PHP генерирует их, как если бы они были индексами в массиве фактический («массивы» PHP на самом деле являются словарями / картами / и т.иметь поведение по умолчанию при отсутствии указанного ключа).

$settings = [
  'name' => 'my_string',
  'my_array' => 'hello'
];

Если вы не хотите использовать $settings[0] - и я бы не хотел - вы, вероятно, должны выбратьимя для того, что 'my_string' должно быть, и используйте его в качестве ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...