我试图从PHP数组生成一个列表,当用户输入一个数字时,例如3,那么数组中每个元素只会显示3个。
示例:
$number_to_generate = 3;
jobs = array('Academic', 'Administrator', 'Architect',.......);
Output:
Academic
Academic
Academic
Administrator
Administrator
Administrator
Architect
Architect
Architect
这就是我目前所拥有的:
// Check if tmp_profession_array is empty
// If it is empty grab any random profession and add it to the tmp_profession_array
array_filter($tmp_profession_array);
if (empty($tmp_profession_array)) {
$Profession = array_rand($professions_array, 1);
$tmp_profession_array[$Profession] = 1;
} else {
// If it is not empty, grab the last profession from it
end($tmp_profession_array);
$Profession = key($tmp_profession_array);
//// If it is not less than the amount to generate grab a new profession that does not exist in the tmp_profession_array
if ($tmp_profession_array[$Profession] > $number_to_generate) {
$break = TRUE;
while ($break) {
if (in_array($Profession, $tmp_profession_array)) {
$Profession = array_rand($professions_array, 1);
} else {
$break = FALSE;
}
}
//// If the profession count is less than the amount to generate then use it
} elseif ($tmp_profession_array[$Profession] < $number_to_generate) {
$tmp_profession_array[$Profession] += 1;
}
}
答案 0 :(得分:3)
如果我理解你想要的东西,很容易做到。
// How many times you want to see each job?
$numberToGenerate = 3;
// List of jobs you have
$jobs = array('Academic', 'Administrator', 'Architect');
// Loop on all the jobs
foreach($jobs as $job){
// Loop $numberToGenerate times
for($i=0; $i < $numberToGenerate; $i++){
// Echo to output
echo $i.'-'.$job.'<br />';
}
}
// Done
exit;