У меня есть массив пользовательских объектов, и я хочу найти объекты, которые имеют соответствующие значения свойств.PHP найти значения свойств соответствия в массиве объектов
Это мой object.php:
class game_list
{
var $team_name;
var $field_nr;
var $time;
/**
* @return mixed
*/
public function getTeamName()
{
return $this->team_name;
}
/**
* @param mixed $team_name
*/
public function setTeamName($team_name)
{
$this->team_name = $team_name;
}
/**
* @return mixed
*/
public function getFieldNr()
{
return $this->field_nr;
}
/**
* @param mixed $field_nr
*/
public function setFieldNr($field_nr)
{
$this->field_nr = $field_nr;
}
/**
* @return mixed
*/
public function getTime()
{
return $this->time;
}
/**
* @param mixed $time
*/
public function setTime($time)
{
$this->time = $time;
}
}
Так у меня есть массив с й числом этих объектов. Я хочу найти объекты с одинаковыми значениями $field_nr
и $time
. Например:
Если два объекта на моем массиве, X и Y, оба имеют $field_nr = 1
и $time = "12:00"
Я хочу распечатать «Матч!».
Это то, что я делаю в данный момент: «Матч»
//getPlaySchedule returns my array($feedback) of objects
$feedback= getPlaySchedule($cup_name, $cup_year, $division);
for($x=0; $x<count($feedback); $x++){
$time = $feedback[$x]->getTime();
$field = $feedback[$x]->getFieldNr();
$team = $feedback[$x]->getTeamName();
for($y=0; $y<count($feedback); $y++){
if($time == $feedback[$y]->getTime() && $field == $feedback[$y]->getFieldNr() && $team != $feedback[$y]->getTeamName()){
echo 'Match!';
}
}
}
Мое решение, однако, печатает два раза за каждый матч. Есть ли лучший способ найти эти совпадения в моем массиве объектов?
Marcus
Конечно! Вы спасли моего мистера, хорошее объяснение и да, ваш код работал. Спасибо, счастливые праздники! – Marcus
Добро пожаловать. Счастливые праздники для вас тоже! – vaso123