如何将一个逗号附加到foreach循环中的数组var?

时间:2017-02-21 04:27:17

标签: php arrays foreach

在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;

    }

}

2 个答案:

答案 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"=>[..]]