【问题标题】:Using Associative Array Constants in Foreach在 Foreach 中使用关联数组常量
【发布时间】:2020-08-27 11:12:07
【问题描述】:

我在 PHP7 上,所以我使用 define() 将关联数组设置为常量,例如

define('CONSTANT_ARRAY', [
    'December 2019' => '2020-01-01',
    'July 2019' => '2019-08-01',
    "May 2019" => "2019-06-01",
    "February 2019" => "2019-03-01",
    "July 2018" => "2018-08-01",
    "November 2017" => "2017-12-01",
    "October 2017" => "2017-11-01",
    "August 2017" => "2017-09-01",
    "July 2017" => "2017-08-01",
    "June 2017" => "2017-07-01",
    "May 2017" => "2017-06-01",
    "April 2017" => "2017-05-01",
    "March 2017" => "2017-04-01",
    "February 2017" => "2017-03-01"
]);

我想获取这个常量以在foreachloop 中使用。

foreach (explode(', ', CONSTANT_ARRAY) as $month => $actual_date) {
    // SOME CODE
} /* end foreach loop */

// SOME CODE TO FETCH AND DISPLAY THE RESULTS

发现有什么问题吗?

【问题讨论】:

  • 你为什么使用explode()?你只需使用foreach (CONSTANT_ARRAY as ...
  • @CBroe “发烧友”的意思是据我所知感兴趣。也许对某个特定主题有更好的了解会让您想要光顾寻求帮助的人?有点难过:)
  • 您确实意识到该常量数组的价值非常有限,对吧?您可以以编程方式对 DateTime 类执行相同操作。

标签: php foreach constants associative-array


【解决方案1】:

你的常量是一个数组,所以你可以以一种规则的方式循环遍历它:

foreach (CONSTANT_ARRAY as $month => $actual_date) {
    // SOME CODE
} /* end foreach loop */

自 PHP 5.6+ 起,您无需序列化/反序列化您的数组

【讨论】:

  • 如果在单独的文件(不是本地php代码的一部分)中定义常量数组,我应该做什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-12
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 2022-07-21
  • 2014-10-01
相关资源
最近更新 更多