【发布时间】:2018-01-09 11:19:02
【问题描述】:
我有一个关联数组,其中包含有关球队和球员的数据。
例子:
$arr = array(
array('teamID'=> '','teamName' => 'USA', 'playerName'='John'),
array('teamID'=> '','teamName' => 'USA', 'playerName'='Peter'),
array('teamID'=> '12','teamName' => 'Norway', 'playerName'='Zigmund'),
array('teamID'=> '','teamName' => 'USA', 'playerName'='Parker'),
array('teamID'=> '','teamName' => 'Norway', 'playerName'='Jan'),
array('teamID'=> '','teamName' => 'USA', 'playerName'='Hector'),
array('teamID'=> '','teamName' => 'Germany', 'playerName'='Alexander'),
array('teamID'=> '','teamName' => 'Slovakia', 'playerName'='Ivan')
);
如果每个团队不存在,我想为每个团队生成唯一的 ID,如果某些团队的 id 存在,如果它们不存在,则在相同的团队名称上使用它,并且不要使用已经存在的 id。
我所做的是简单检查 foreach 循环的广告索引是否存在,然后打赌它是每个玩家而不是每个团队。
预期结果:
$arr = array(
array('teamID'=> '1','teamName' => 'USA', 'playerName='John'),
array('teamID'=> '1','teamName' => 'USA', 'playerName'='Peter'),
array('teamID'=> '12','teamName' => 'Norway', 'playerName'='Zigmund'),
array('teamID'=> '1','teamName' => 'USA', 'playerName'='Parker'),
array('teamID'=> '12','teamName' => 'Norway', 'playerName'='Jan'),
array('teamID'=> '1','teamName' => 'USA', 'playerName'='Hector'),
array('teamID'=> '2','teamName' => 'Germany', 'playerName'='Alexander'),
array('teamID'=> '3','teamName' => 'Slovakia', 'playerName'='Ivan')
);
关于如何解决这个问题的任何想法?
【问题讨论】:
-
你的问题有点不清楚。你能在你的问题中添加你的预期结果吗
-
将你在循环这个数据时遇到的团队名称放入一个数组中,这样你就可以检查当前的团队名称是否已经存在于该数组中......?
-
@CBroe 是的,但它不会检查之前有 ID 的团队
-
teamID的 1,2,3 来自哪里? -
“但它不会检查之前有 ID 的团队” - 是的,如果有,则将现有 id 放入数组中,否则创建一个新的... ?
标签: php multidimensional-array unique-id