php – 基于公共字符串对数组项进行分组
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 基于公共字符串对数组项进行分组,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2074字,纯文字阅读大概需要3分钟。
内容图文
![php – 基于公共字符串对数组项进行分组](/upload/InfoBanner/zyjiaocheng/785/b0af54c3728e441d864483d2c27052d6.jpg)
我有以下代码,它抓取两个单独的数组,翻转姓氏和名字(也删除逗号)并输出:
Director: Bert & Bertie
Writer: Bert & Bertie
Producer: Louise Knight
Producer: Miles Wilkes
Producer: Andy Welch
Actor: Craig Parkinson
Actor: Camilla Rutherford
Actor: Paul Bhattarcharjee
Actor: Ford Kieman
Actor: Maurren the Pug
Actor: Hannah Walters
DP: Lynda Hall
Cut: Matt Chodan
我需要做的是将类似的组分组以输出如下内容:
Director: Bert & Bertie
Writer: Bert & Bertie
Producer: Louise Knight, Miles Wilkes, Andy Welch
Actors: Craig Parkinson, Camilla Rutherford, Paul Bhattarcharjee, Ford Kieman, Maurren the Pug, Hannah Walters
DP: Lynda Hall
Cut: Matt Chodan
当前的PHP代码:
<?php
$arrayname=explode(":::",$dwzXmlRec_1->GetFieldValue("PERSON_NAME"));
$arraynamel=count($arrayname);
$arrayrole=explode(":::",$dwzXmlRec_1->GetFieldValue("PERSON_FUNCTION"));
$arrayrolel=count($arrayrole);
$name = "Lastname, Firstname";
$names = explode(", ", $name);
$name = $names[1] . " " . $names[0];
for($i=0;$i<$arrayrolel;$i++)
{
$names = explode(", ", $arrayname[$i]);
$name = $names[1] . " " . $names[0];
echo $arrayrole[$i].': '.$name.'<br />';
}
?>
更新:只有一个问题,数据是从xml节点设置的,因为它在数组“as”中是一个角色来自另一个角色.例如,’Actor’首先出现,然后是’Director’.有没有任何简单的方法来反转它,所以Director先来然后Cast?我添加了代码来隐藏不需要的角色/人员,如下所示:
// print out the list of people in each role
foreach($roles as $rolename => $people) {
if ($rolename!="Cut" && $rolename!="Producer" && $rolename!="DP" && $rolename!="Writer"){
if($rolename=="Actor") { $rolename="Cast";};
echo $rolename . ": " . implode(", ", $people) . "<br />";
}
}
解决方法:
我将构建一个数组,将角色名称映射到填充该角色的人员阵列.可能是这样的:
$roles = array();
for($i = 0; $i < $arrayrole1; $i++) {
$names = explode(", ", $arrayname[$i]);
$name = $names[1] . " " . $names[0];
// append the name to the array of people filling the role
$roles[$arrayrole[$i]][] = $name;
}
// print out the list of people in each role
foreach($roles as $rolename => $people) {
echo $rolename . ": " . implode(", ", $people) . "<br />";
}
内容总结
以上是互联网集市为您收集整理的php – 基于公共字符串对数组项进行分组全部内容,希望文章能够帮你解决php – 基于公共字符串对数组项进行分组所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。