【问题标题】:Simpler way to set multiple array slots to one value in PHP在 PHP 中将多个数组槽设置为一个值的更简单方法
【发布时间】:2013-11-19 05:08:46
【问题描述】:

我正在使用 php,它与这个 C++ 问题几乎相同:link 我想知道是否有比制作函数更简单的方法。

示例代码

array[9] = 1;
array[5] = 1;
array[14] = 1;

array[8] = 2;
array[15] = 2;
array[23] = 2;
array[12] = 2;

编辑:更简单的意思是不那么乏味和少行

【问题讨论】:

标签: php


【解决方案1】:

你可以使用 PHP 5.4+ array_fill_keys()

$a = array_fill_keys([9,5,14], 1);
$b = array_fill_keys([8,15,23,12], 2);

PHP 5.2+(感谢 jszobody)

$a = array_fill_keys(array(9,5,14), 1);
$b = array_fill_keys(array(8,15,23,12), 2);

【讨论】:

  • 比我有的更好的答案,删除了我的。请注意,方括号语法仅适用于 PHP 5.4+。否则你必须做array_fill_keys(array(9,5,14), 1)
  • 这里的快速问题:如果数组 $a 已经存在并且我只是在修改元素,这仍然有效吗?
  • 我不明白这个问题。
猜你喜欢
  • 2013-10-10
  • 1970-01-01
  • 2019-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多