2

コードについてサポートが必要です。以下のアレイからxferアレイの設定を解除するには:

    if($_SESSION["s"]["user"]["typ"] == 'admin') {
    $form["tabs"]['dns_soa'] = array (
        'title'     => "DNS Zone",
        'width'     => 100,
        'template'  => "templates/dns_soa_edit.htm",
        'fields'    => array (
        ##################################
        # Begin Datatable fields
        ##################################

        'xfer' => array (
            'datatype'  => 'VARCHAR',
            'formtype'  => 'TEXT',
            'default'   => '',
            'value'     => '',
            'width'     => '30',
            'maxlength' => '255'
        ),

        'update_acl' => array (
            'datatype'  => 'VARCHAR',
            'formtype'  => 'TEXT',
            'default'   => '',
            'value'     => '',
            'width'     => '30',
            'maxlength' => '255'
        ),

        'active' => array (
            'datatype'  => 'VARCHAR',
            'formtype'  => 'CHECKBOX',
            'default'   => 'Y',
            'value'     => array(0 => 'N',1 => 'Y')
        ),
        ##################################
        # ENDE Datatable fields
        ##################################
        )
    );
    }



私はただ:

unset($form["tabs"]['dns_soa']['fields']['xfer']);



3つすべての設定を解除するには、これを行います。更新-実際には「フィールド」に多くの配列がありますが、3つだけ提供しています。

unset($form["tabs"]['dns_soa']['fields']['xfer']);
unset($form["tabs"]['dns_soa']['fields']['update_acl']);
unset($form["tabs"]['dns_soa']['fields']['active']);



とにかく、何度もコーディングせずに多くの配列の設定を解除できることはあります unset($form["tabs"]['dns_soa']['fields']array name here);か?前もって感謝します。

更新-申し訳ありませんが、より多くの情報を提供する必要があります。3つのアレイのうち2つを無効にするにはどうすればよいですか?たとえば、['xfer']と['active']を無効にしますか?

4

3 に答える 3

1

頻繁に使用する予定の場合は、次のように簡略化するのに役立つ関数を作成できます。

<?php
function unset_array($keys, &$arr) {
    foreach($keys as $key) {
        unset($arr[$key]);
    }
}

unset_array(array('xfer', 'active'), $arr['tabs']['dns_soa']);
?>
于 2011-10-24T19:49:53.580 に答える