在foreach循环中我将数组赋给变量。
因为这个数组在一个循环中,所以它将输出多次。
因为它会输出多次,所以我需要数组的末尾有一个逗号,这样每次返回时都不会破坏数组和数组的实例。
有办法做到这一点吗? - 我在网上找到了方法,但他们只展示了如何使用foreach循环中的字符串来执行此操作,以便在最后一个foreach循环结束时添加或删除逗号。
我的代码如下解释。
// ----------------------------------------------------------------------------------------------------
// Start our framework config arrays
// ----------------------------------------------------------------------------------------------------
$options = array();
// ----------------------------------------------------------------------
// MENU - Layout Settings
// ----------------------------------------------------------------------
$options[] =
array(
'title' => 'Layout Settings',
'name' => 'layout-settings',
'icon' => 'fa fa-cog',
'fields' =>
array(
// ----------------------------------------------------------------------
// TAB - Layout Settings
// ----------------------------------------------------------------------
array('type' => 'tabbed', 'id' => 'layout_settings', 'tabs' => array(
return_post_type_layout_settings()
))
),
);
// Our return array function
function return_post_type_layout_settings() {
$public_post_type = get_post_types(
array(
'_builtin' => TRUE,
'public' => TRUE
)
);
sort($public_post_type, SORT_NATURAL);
foreach($public_post_type as $post_type) {
$layout_options =
array('title' => ucwords($post_type) . ' Layout', 'fields' => array(
array('id' => $post_type, 'type' => 'grid', 'span' => '6-12', 'fields' => array(
// ----------------------------------------------------------------------
// FIELD - Header Settings Panel
// ----------------------------------------------------------------------
array('message' => 'Enable ' . ucwords($post_type). ' Header Settings?', 'video' => 'QAEjuDpIaE4', 'type' => 'title_with_help'),
array('id' => $post_type . '_enable_header', 'type' => 'switcher'),
))
)) // << I need to comma to post at the end of this array
// because in my array above this will output more than once
;
return $layout_options;
}
}
答案 0 :(得分:1)
代码存在多个问题。并且与实际逗号无关。而是功能输出的数据结构。
在这段代码中:
flatpickr(".flatpickr", {
enableTime: true,
altInput: true,
altFormat: "j- M- Y h:i K",
"mode": "range"
});
$("#addTask").on("click", function(event) {
event.stopPropagation();
var clone = $(".taskContent").clone();
$("#taskEmpty").html(clone);
//initialize date again
flatpickr(".flatpickr", {
enableTime: true,
altInput: true,
altFormat: "j- M- Y h:i K",
"mode": "range"
});
});
<?php
$options[] =
array(
'title' => 'Layout Settings',
'name' => 'layout-settings',
'icon' => 'fa fa-cog',
'fields' =>
array(
// ----------------------------------------------------------------------
// TAB - Layout Settings
// ----------------------------------------------------------------------
array('type' => 'tabbed', 'id' => 'layout_settings', 'tabs' => array(
return_post_type_layout_settings()
))
),
);
仅被声明为具有1个值的数组。您无法将多个值放入tabs
这样的情况。它应该像这样修改:
tabs
然后你需要修改你的函数以返回正确的数组格式:
<?php
$options[] =
array(
'title' => 'Layout Settings',
'name' => 'layout-settings',
'icon' => 'fa fa-cog',
'fields' =>
array(
// ----------------------------------------------------------------------
// TAB - Layout Settings
// ----------------------------------------------------------------------
array('type' => 'tabbed', 'id' => 'layout_settings', 'tabs' => return_post_type_layout_settings())
),
);
答案 1 :(得分:0)
目标是from(int)
to(int)
amount(double)
status(string)
kind(string)
start(datetime)
effective(datetime).
是多个$layout_options
个对象的数组吗?如果是这样,我会做这样的事情:
["title"=>"My Layout", "fields"=>[..]]