本文整理匯總了PHP中Unit::getAbbr方法的典型用法代碼示例。如果您正苦於以下問題:PHP Unit::getAbbr方法的具體用法?PHP Unit::getAbbr怎麽用?PHP Unit::getAbbr使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Unit
的用法示例。
在下文中一共展示了Unit::getAbbr方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testAbbreviation
public function testAbbreviation()
{
$unit = new Unit('Kilogram', 'kg');
$this->assertEquals('kg', $unit->getAbbr());
$unit = new Unit('Kilogram', '..kilo gram ');
$this->assertEquals('kilogram', $unit->getAbbr());
$unit = new Unit('Kilogram', '1kg');
$this->assertEquals('kg', $unit->getAbbr());
}
示例2: getIndirectConversion
/**
* Convert over a number of hops if possible
*
* Breadth-first search from http://www.sitepoint.com/data-structures-4/
*
* @return SplDoublyLinkedList|array
*/
protected function getIndirectConversion(Unit $from, Unit $to)
{
$origin = $from->getAbbr();
$destination = $to->getAbbr();
// Mark all nodes as unvisited
$visited = array();
foreach ($this->conversions as $vertex => $adj) {
$visited[$vertex] = false;
}
// Create a queue
$q = new \SplQueue();
// Enqueue the origin vertex and mark as visited
$q->enqueue($origin);
$visited[$origin] = true;
// Create a path that can be back-tracked
$path = array();
$path[$origin] = new \SplDoublyLinkedList();
$path[$origin]->setIteratorMode(\SplDoublyLinkedList::IT_MODE_FIFO | \SplDoublyLinkedList::IT_MODE_KEEP);
$found = false;
while (!$q->isEmpty() && $q->bottom() != $destination) {
$t = $q->dequeue();
if (!empty($this->conversions[$t])) {
// For each adjacent neighbour,
foreach ($this->conversions[$t] as $vertex => $conv) {
if (!array_key_exists($vertex, $visited) || !$visited[$vertex]) {
// Mark as visited and enqueue
$q->enqueue($vertex);
$visited[$vertex] = true;
// Add to current path
$path[$vertex] = clone $path[$t];
$path[$vertex]->push($conv);
}
}
}
}
if (isset($path[$destination])) {
return $path[$destination];
} else {
return array();
}
}