为了实现我认为你想要的东西,你可以创建一个具有相同键的关联数组的数组。
<?php
// This syntax will work only on PHP 5.4
$a=[["name"=>"john","age"=>25],["name"=>"philip","age"=>110]];
print_r(array_filter($a, function($item) {return $item["name"] === "john"; }));
?>
输出:
Array
(
[0] => Array
(
[name] => john
[age] => 25
)
)
如果你只是想知道一个叫 John 的人是否在列表中,你可以在返回的数组上使用 sizeof/count。
这将允许您拥有任意数量的重复项,并且您不需要指定任何键。查看函数:array_filter、array_reduce、array_map。有了所有这些,您就可以像上面的示例一样使用闭包来处理您的列表。
您也可以拥有对象,而不是在数组中使用关联数组。对象更重,需要初始化和其他东西,所以将它们用于微小的静态(硬编码)列表是很奇怪的。但是当您的数据结构增长并且您希望确保每个列表项都具有特定属性时,它们可能会派上用场(类的构造函数可以确保所有内容都已初始化)。但好在 filter、reduce 和 map 仍然可以工作。然后,“$item”将成为您的对象。