我大部分时间都在工作,但我觉得必须有更好的方法来做到这一点。
网站上有约 60 个马品种。有些马是“纯种”,有些是“杂交”。我对纯种马没有意见,但对于杂交品种,我需要找出它们最接近的品种,以便为那匹马展示图像。
图像设置如下: horse-Arabian-breed.png 带有一些 PHP 和 SQL 从数据库中拉出马的品种信息,并将品种插入“horse-”和“-breed.png”之间。
网站上的十字架显示为“Arabian x Dutch Warmblood”,这显然不适用于图像。我的计划是看看现在的马,它的父母,以及它的四个祖父母,得到他们所有的品种,找出哪个品种的影响最大,然后使用那个品种的图像。
这是我目前拥有的:
echo "Start horse breed: $horse_breed <br>";
echo "Sire breed: $sire_breed <br>";
echo "Dam breed: $dam_breed <br>";
echo "Sire Sire breed: $sire_sire_breed <br>";
echo "Sire Dam breed: $sire_dam_breed <br>";
echo "Dam Sire breed: $dam_sire_breed <br>";
echo "Dam Dam breed: $dam_dam_breed <br>";
echo "<br><br>";
$hb = strval($horse_breed);
$sb = strval($sire_breed);
$db = strval($dam_breed);
$ssb = strval($sire_sire_breed);
$sdb = strval($sire_dam_breed);
$dsb = strval($dam_sire_breed);
$ddb = strval($dam_dam_breed);
$breed_hist = $hb.$sb.$db.$ssb.$sdb.$dsb.$ddb;
echo $breed_hist; // outputs: Arabian x ThoroughbredArabianThoroughbredRetiredRetiredThoroughbredThoroughbred
echo "<br>";
$clean_hist = str_replace(" x ", "", $breed_hist);
echo $clean_hist; // outputs: ArabianThoroughbredArabianThoroughbredRetiredRetiredThoroughbredThoroughbred
echo "<br>";
$Arabian = substr_count($clean_hist, 'Arabian');
echo "Arabian: $Arabian"; // output: 2
echo "<br>";
$Thoroughbred = substr_count($clean_hist, 'Thoroughbred');
echo "Thoroughbred: $Thoroughbred"; // output: 4
echo "<br>";
$Warlander = substr_count($clean_hist, 'Warlander');
echo "Warlander: $Warlander"; // output: 0
echo "<br>";`
最重要的是,我有一些基本的 SQL 从数据库中提取信息。
我知道您可以在 PHP 中使用 max() 来查找最高值,但我不确定如何将最高值与正确的品种联系起来(我猜字典会起作用吗?)。
出于测试目的,我一直在使用:
开始马品种:阿拉伯x纯种马
父系:阿拉伯
大坝品种:纯种
父亲品种:已退休
父亲大坝品种:已退休
Dam Sire 品种:纯种
大坝品种:纯种
退休意味着没有关于他们品种的更多信息,因此可以忽略其中的信息,这很好。
我想弄清楚的另一件事是,如果有多个品种并列最高,如何在两个或多个品种之间随机选择。
任何关于我如何更清洁和/或更简单的提示都会很棒。
谢谢。