我有一个数组可以存储几个不同科目的人员分数,例如:
$scores = array(
'reading' => 80,
'math' => 85,
'science' => 75,
'social studies'=> 90,
'music' => 95);
我需要将前三个主题(键)列表作为字符串:
$topScores = "Music, Social Studies, Math";
这是一种干净有效的方法吗?
答案 0 :(得分:2)
以相反的顺序对数组进行排序,保持与arsort()的关联。然后取一个数组(前三个元素)。
input.value = ''
然后,您可以使用implode从切片数组中生成一个字符串。
Rizier123指出你想要字符串中的键,所以你需要内爆键。像
这样的东西class MyClass<T> {
}
class MySubclass1: MyClass<String> {
}
class MySubclass2: MyClass<Int> {
}
答案 1 :(得分:0)
这是我带来的东西:
arsort($scores);
$scores = array_slice($scores,0,3);
$finalString = null;
foreach($scores as $key => $value){
$finalString .= ucfirst($key).', ';
}
echo $finalString;
答案 2 :(得分:0)
以下是我提出的解决方案:
$sorted = $scores;
arsort($sorted);
$top_three = array_slice(array_keys($sorted), 0, 3);
$skills = implode(', ',$top_three);
$this->top_skills = ucwords($skills);