阅读量: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
。