【发布时间】:2020-10-28 13:37:18
【问题描述】:
在 PHP 中我需要在集合(向量)中查找对象索引,如何查找具有特定属性的对象($object->name = "name: 3")? 有什么建议吗?
这是一个例子:
<?php
//simple class
class tip {
public $ID;
public $name;
}
$col = new \Ds\Vector();
//create few objects in $col
for ($i=0;$i<5;$i++) {
$o = new tip();
$o->ID = $i;
$o->name = "name: $i";
$col->push($o);
}
var_dump($col);
//search should return 4 (as 4 object in vector is object with name: "name: 4" but it returns false
var_dump($col->find("name: 3"));
?>
【问题讨论】:
-
您从哪里获得 \Ds\Vector 的代码?
-
@NigelRen 我从这里推测php.net/manual/en/class.ds-vector.php
-
我也怀疑这个 Vector 类理解
name: 3表示法。正如手册所说的“值将按值和类型进行比较”。因此比较字符串和对象将评估为false。 -
你基本上可以
foreach你的向量,当你找到你要找的值时,你只需要break -
不确定这是否适合开始使用 Vector。 OP 基本上将其用作对象存储,而不是一系列值。因此,Vector 的大多数方法似乎都无关紧要。拥有
class tip extends Ds\Vector可能更有意义。
标签: php vector data-structures find