Maison > développement back-end > tutoriel php > php数组遍历后重新组装,请教方法

php数组遍历后重新组装,请教方法

WBOY
Libérer: 2023-03-03 08:24:01
original
1483 Les gens l'ont consulté

如图代码,组装成下面这种格式,有没有什么办法,数组内长度不定

<code>$_POST['huodong']=array(
    'shenbing',
    'duobao',
    'ceshi'
);
$_POST['sttime']=array(
    '2016-11-07 00:00:00',
    '2016-11-08 00:00:00',
    '2016-11-09 00:00:00'
);
$_POST['edtime']=array(
    '2016-11-10 00:00:00',
    '2016-11-11 00:00:00',
    '2016-11-12 00:00:00'
);
$_POST['sourcelmt']=array(
       array(
        'xiaomi_uku_and',
        'uc_uku_and',
        'qq_uku_and'
    ),
    array(
        'xiaomi_uku_and',
        'qq_uku_and'
    ),
    array(
        'uc_uku_and',
    )
);</code>
Copier après la connexion
Copier après la connexion

现在想组装成这种格式的:

<code>array(
    'shenbing'=>array(
        'sttime'=>'2016-11-07 00:00:00',
        'edtime'=>'2016-11-10 00:00:00',
        sourcelmt=array(
            'xiaomi_uku_and',
            'uc_uku_and',
            'qq_uku_and'
        ),
    ),
    'duobao'=>array(
        'sttime'=>'2016-11-08 00:00:00',
        'edtime'=>'2016-11-11 00:00:00',
        sourcelmt=array(
            'xiaomi_uku_and',
            'qq_uku_and'
        ),
    ),
    'ceshi'=>array(
        'sttime'=>'2016-11-09 00:00:00',
        'edtime'=>'2016-11-12 00:00:00',
        sourcelmt=array(
            uc_uku_and
        ),
    ),
);</code>
Copier après la connexion
Copier après la connexion

请问有什么好的办法?感谢~

回复内容:

如图代码,组装成下面这种格式,有没有什么办法,数组内长度不定

<code>$_POST['huodong']=array(
    'shenbing',
    'duobao',
    'ceshi'
);
$_POST['sttime']=array(
    '2016-11-07 00:00:00',
    '2016-11-08 00:00:00',
    '2016-11-09 00:00:00'
);
$_POST['edtime']=array(
    '2016-11-10 00:00:00',
    '2016-11-11 00:00:00',
    '2016-11-12 00:00:00'
);
$_POST['sourcelmt']=array(
       array(
        'xiaomi_uku_and',
        'uc_uku_and',
        'qq_uku_and'
    ),
    array(
        'xiaomi_uku_and',
        'qq_uku_and'
    ),
    array(
        'uc_uku_and',
    )
);</code>
Copier après la connexion
Copier après la connexion

现在想组装成这种格式的:

<code>array(
    'shenbing'=>array(
        'sttime'=>'2016-11-07 00:00:00',
        'edtime'=>'2016-11-10 00:00:00',
        sourcelmt=array(
            'xiaomi_uku_and',
            'uc_uku_and',
            'qq_uku_and'
        ),
    ),
    'duobao'=>array(
        'sttime'=>'2016-11-08 00:00:00',
        'edtime'=>'2016-11-11 00:00:00',
        sourcelmt=array(
            'xiaomi_uku_and',
            'qq_uku_and'
        ),
    ),
    'ceshi'=>array(
        'sttime'=>'2016-11-09 00:00:00',
        'edtime'=>'2016-11-12 00:00:00',
        sourcelmt=array(
            uc_uku_and
        ),
    ),
);</code>
Copier après la connexion
Copier après la connexion

请问有什么好的办法?感谢~

<code>$result = array();
foreach($_POST['huodong'] as $first_key => $id) {
    // 此处的 '' 和 array() 是作为默认值
    foreach(array('sttime'=>'','edtime'=>'','sourcelmt'=>array()) as $second_key => $val) {
        $result[$id][$second_key] = isset($_POST[$second_key][$first_key]) ? $_POST[$second_key][$first_key] : $val;
    }
}
print_r($result);</code>
Copier après la connexion

根据 下标取不同 数组对应下标的值就行了啊

$result = array();
for($i=0;$i

<code>$result[$_POST['huodong'][$i]]=array(
    'sttime'=>$_POST['sttime'][$i], 
    'edtime'=>$_POST['edtime'][$i],                           
    'sourcelmt'=>$_POST['sourcelmt'][$i],
    );</code>
Copier après la connexion

}
print_r($result);

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal