【发布时间】:2016-03-03 01:48:51
【问题描述】:
我正在尝试编写圣诞 kris kringle 购买清单。 即:Steve 为 Jo 购买,Edward 为 Ally 购买等。 我要和 19 个人一起工作。
目前我已经完成了两个数组。我使用 shuffle 将原始名称打乱,然后将它们添加在一起以将它们存储到多维数组中。 它有效..但我有问题。
洗牌不在乎这个人是否自己买礼物。 (即:多维数组具有相同的值。即:[15] => Array ([0] => Ben[1] => Ben)
我将如何为家庭成员制定例外情况,即:本不能为艾伦、戴夫和辣椒买东西?等等。
我尝试过查看各种数组方法,但没有更多答案。
我会想这样的事情。
如果值相同,重新洗牌并再次检查。 否则转到下一个值并再次检查。
<?php
$peoplearray = Array("ben","peter","oscar","jake", "heidi", "Steve", "ed", "matt", "jordan", "gilly" , "Lea", "ellen", "dave", "chilli", "Sean", "Mark", "shane", "ali","dean");
shuffle($peoplearray);
$buying_for = array();
$k=0;
foreach($peoplearray as $value){
print "<BR>";
$buying_for[$k] = $value;
$k++;
}
$peoplearray = Array("ben","peter","oscar","jake", "heidi", "Steve", "ed", "matt", "jordan", "gilly" , "Lea", "ellen", "dave", "chilli", "Sean", "Mark", "shane", "ali","dean");
$total = count($peoplearray);
$result = array();
foreach ($peoplearray as $i => $val) {
$result[] = array($val, $buying_for[$i]);
}
for ($row = 1; $row < $total; $row++) {
echo "<p><b>Pair $row</b></p>";
echo "<ul>";
for ($col = 0; $col < 2; $col++) {
echo " ".$result[$row][$col]." ";
}
echo "</ul>";
}
?>
【问题讨论】:
标签: php arrays multidimensional-array