php - Foreach 循环仅返回最后一个结果
问题描述
我需要格式化一个 YYYY-MM-DD 日期以输出“2020 年 1 月 12 日”,我已经得到正确输出的日期,但代码只会输出我想要的五个值之一,我显然错过了一些东西.
我遇到以下代码仅输出单个结果的问题:
function populate_dropdown($form){
//Reading posts for "Events" post type;
$posts = get_posts("post_type=el_events&orderby=date&order=asc&el_eventcategory=flo-talanoa&numberposts=-1");
//Creating drop down item array.
$items = array();
//Adding post dates titles to the items array
foreach($posts as $post)
$unformatteddate = $post->startdate;
$dateTime = DateTime::createFromFormat("Y-m-d", $unformatteddate);
$dateformatted = $dateTime->format('j F Y');
$items[] = array(
"value" => $dateformatted . ': ' . $post->location,
"text" => $dateformatted . ': ' . $post->location
);
//Adding items to field id 1.
foreach($form["fields"] as &$field)
if($field["id"] == 1){
$field["type"] = "select";
$field["choices"] = $items;
}
return $form;
}
如果我更换:
$unformatteddate = $post->startdate;
$dateTime = DateTime::createFromFormat("Y-m-d", $unformatteddate);
$dateformatted = $dateTime->format('j F Y');
$items[] = array(
"value" => $dateformatted . ': ' . $post->location,
"text" => $dateformatted . ': ' . $post->location
);
和:
$items[] = array("value" => $post->startdate . ': ' . $post->location, "text" => $post->startdate . ': ' . $post->location);
该代码输出所有五个值(尽管使用 YYYY-MM-DD 日期格式),我错过了什么?我是 PHP 新手。
提前致谢
解决方案
您忘记{}
在foreach
循环中添加
foreach($posts as $post){
$unformatteddate = $post->startdate;
$dateTime = DateTime::createFromFormat("Y-m-d", $unformatteddate);
$dateformatted = $dateTime->format('j F Y');
$items[] = array(
"value" => $dateformatted . ': ' . $post->location,
"text" => $dateformatted . ': ' . $post->location
);
}
//Adding items to field id 1.
foreach($form["fields"] as &$field){
if($field["id"] == 1){
$field["type"] = "select";
$field["choices"] = $items;
}
}
推荐阅读
- python - ImportError:使用 Google Colab 时无法从“object_detection.protos”导入名称“preprocessor_pb2”
- dependencies - NullQRCodeDialogFragment 是什么依赖?
- sql - 如何在不使用数据透视的情况下将行转换或转置为 SQL 中的列?
- android - React-native-phone-input 没有得到模糊回调
- powershell - 用于删除共享文件夹共享链接的powershell脚本
- twilio - 使用 Twilio Autopilot 发送电子邮件
- highcharts - 如何让 Highcharts Tilemap 填满整个空间?
- python - Python:将新字典附加到 json 文件
- coldfusion - 寻找有关如何使用 cfc 处理 Coldfusion 会话超时的建议
- variables - FOP 到 PDF - 在 FOP 标签(URL 标签)中使用变量