我有以下代码
$cp = new Criteria();
$cp->add(ProductBrandServicePeer::BIZORG_ID, $bizorg->getBizorgId());
$cp->add(ProductBrandServicePeer::TYPE_ID, 1);
$cp_count = ProductBrandServicePeer::doCount($cp);
$cs = new Criteria();
$cs->add(ProductBrandServicePeer::BIZORG_ID, $bizorg->getBizorgId());
$cs->add(ProductBrandServicePeer::TYPE_ID, 3);
$cs_count = ProductBrandServicePeer::doCount($cs);
$cb = new Criteria();
$cb->add(ProductBrandServicePeer::BIZORG_ID, $bizorg->getBizorgId());
$cb->add(ProductBrandServicePeer::TYPE_ID, 2);
$cb_count = ProductBrandServicePeer::doCount($cb);
我想缩短它或制作一个循环。 我在想这样的事情:
$cb->add(ProductBrandServicePeer::TYPE_ID, array(1,2,3);
但是我如何获得cp_count,cs_count和cb_count变量?
答案 0 :(得分:2)
要在代码中稍后使用相同的变量,请使用变量变量。 :d
foreach (['cp' => 1, 'cs' => 3, 'cb' => 2] as $var => $typeId) {
$$var->add(ProductBrandServicePeer::BIZORG_ID, $bizorg->getBizorgId());
$$var->add(ProductBrandServicePeer::TYPE_ID, $typeId);
${$var.'_count'} = ProductBrandServicePeer::doCount($$var);
}