给出以下结构:
require_once 'self_class.php';
$user = new USER();
$under_id = "0";
$get_categories_main = $user->runQuery('SELECT * FROM category WHERE Under LIKE :under ORDER BY Id ASC ');
$get_categories_main->bindParam(':under',$under_id);
$get_categories_main->execute();
$len =$get_categories_main->rowCount();
while ($fetch_category_main = $get_categories_main->fetch(PDO::FETCH_ASSOC)) {
$category[] = $fetch_category_main;
}
if(isset($_GET['both'])){
echo "Both";
for($x = 0; $x < $len; $x++) {
echo $row = $category[$x]['Id'].") ".$category[$x]['Name']."<br />";
}
}
echo "Main";
for($x = 0; $x < $len; $x++) {
echo $row = $category[$x]['Id'].") ".$category[$x]['Name']."<br />";
}
编写一个基于此列表构建名称数组的程序。结果数组的原始大小写应包含全名(名字+姓氏),并应按姓氏/名字排序。排序时,必须忽略大写。 出于未知原因,我们不希望在列表中使用名为“琼斯”或“康纳”的人,因此应将其过滤掉。
这是我的要求,我需要使用grep,map和sort函数解决此问题。
答案 0 :(得分:1)
哈希中的键和值都是名称。因此,从哈希中“构建名称数组”的最简单方法是:
my @names = %names;
但这不使用map
或grep
。这样我们就可以(毫无意义地)添加它们。
my @names = grep { 1 } map { $_ } %names;
我认为,也许您应该更详细地说明您想要的东西。