PHP的in_array在处理自定义对象时怎样操作

avatar
作者
筋斗云
阅读量:0

in_array() 函数用于检查一个值是否存在于数组中。但是,当你需要在自定义对象数组中查找值时,in_array() 的默认行为可能不会满足你的需求,因为它主要用于检查基本数据类型(如整数、浮点数和字符串)。

要在自定义对象数组中查找值,你可以使用 array_search() 函数,它允许你提供一个回调函数来自定义搜索逻辑。这是一个示例:

class CustomObject {     public $property;      public function __construct($property) {         $this->property = $property;     } }  // 创建一个包含自定义对象的数组 $objects = [     new CustomObject('value1'),     new CustomObject('value2'),     new CustomObject('value3'), ];  // 要查找的值 $searchValue = 'value2';  // 使用 array_search() 函数查找值 $result = array_search($searchValue, $objects, true);  // 检查结果是否存在 if ($result !== false) {     echo "找到了值:{$result->property}"; } else {     echo "没有找到值"; } 

在这个示例中,我们创建了一个包含 CustomObject 实例的数组。然后,我们使用 array_search() 函数查找具有特定 property 值的对象。第三个参数设置为 true,表示我们希望找到第一个匹配项的原始对象。如果找到了匹配的对象,$result 将是包含该对象的数组元素的引用,否则为 false

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!