繁体   English   中英

在关联数组中显示同名值与 php

[英]Display values with the same name in associate array with php

$examscore = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43", "Peter"=>"33");

其中 "Peter"=>"35" 和 "Peter"=>"33" 是不同的人,但他们有相同的名字

当我 print_r($examscore) 只显示一个彼得,但我想获得数组中的所有名称,无论是同名还是非同名,因为我的一些学生有相同的名字

您不能在 assoc 数组中多次使用相同的键。 第一个“彼得”将被覆盖。

最好使用 arrays 将数据结构创建为数组。

$examscore = [
    ["name" => "Peter", "age" => "35"],
    ["name" => "Ben"  , "age" => "37"],
    ["name" => "Joe"  , "age" => "43"],
    ["name" => "Peter", "age" => "33"]
];

当您需要排序时,可以使用array_multisort()


这将按名称 ASC、年龄 ASC 对$examscore顺序进行排序

array_multisort(array_column($examscore, 'name'), SORT_ASC, $examscore);

$examscore = [
    ['name' => 'Ben', 'age' => '37'],
    ['name' => 'Joe', 'age' => '43'],
    ['name' => 'Peter', 'age' => '33'],
    ['name' => 'Peter', 'age' => '35']
]

这将按年龄 ASC 对$examscore顺序进行排序,名称为 ASC

array_multisort(array_column($examscore, 'age'), SORT_ASC, $examscore);

$examscore = [
    ['name' => 'Peter', 'age' => '33'],
    ['name' => 'Peter', 'age' => '35'],
    ['name' => 'Ben', 'age' => '37'],
    ['name' => 'Joe', 'age' => '43'],
];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM