数组根据val值的相同性组成多个数组

WBOY
Libérer: 2016-06-20 12:26:54
original
1122 Les gens l'ont consulté

原始数组类似

$arr        =   array(            array(                'id'    =>  '1',                'name'      =>  'a',                'project'   =>  '1',            ),            array(                'id'    =>  '2',                'name'      =>  'b',                'project'   =>  '3',            ),            array(                'id'    =>  '3',                'name'      =>  'c',                'project'   =>  '2',            ),            array(                'id'    =>  '4',                'name'      =>  'd',                'project'   =>  '1',            ),        );
Copier après la connexion

我想根据project的相同性组成多个数组,如下面结果
$arr1        =   array(            array(                'id'    =>  '1',                'name'      =>  'a',                'project'   =>  '1',            ),            array(                'id'    =>  '4',                'name'      =>  'd',                'project'   =>  '1',            ),        );        $arr2        =   array(            array(                'id'    =>  '2',                'name'      =>  'b',                'project'   =>  '3',            ),        );        $arr3        =   array(            array(                'id'    =>  '3',                'name'      =>  'c',                'project'   =>  '2',            ),        );
Copier après la connexion



求帮助了呀,我有个思路,想让project顺序排序,然后再循环判断下一个val[project]是否与 上一个相同,不同就组成新数组。
但是想问问 还有其他效率的方法没


回复讨论(解决方案)

$arr        =   array(            array(                'id'    =>  '1',                'name'      =>  'a',                'project'   =>  '1',            ),            array(                'id'    =>  '2',                'name'      =>  'b',                'project'   =>  '3',            ),            array(                'id'    =>  '3',                'name'      =>  'c',                'project'   =>  '2',            ),            array(                'id'    =>  '4',                'name'      =>  'd',                'project'   =>  '1',            ),        );foreach($arr as $v) $r['arr' . $v['project']][] = $v;extract($r);print_r($arr1);
Copier après la connexion
Array(    [0] => Array        (            [id] => 1            [name] => a            [project] => 1        )    [1] => Array        (            [id] => 4            [name] => d            [project] => 1        ))
Copier après la connexion
其他自己验证

extract()一般什么时候用

谢谢了,第一次知道$r['arr' . $v['project']][] = $v; 还可以让数组自己找的对应位置,其实这一句就到达我想要的结果了,我那种方法自己都觉得累

extract()之前看了下,大致就是把val直接给到$+key名的变量中

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!