Zend_Measure | Zend_Measure Programmer's Reference Guide | Creation of Measurements

# Introduction

Zend_Measure_* classes provide a generic and easy way for working with measurements. Using Zend_Measure_* classes, you can convert measurements into different units of the same type. They can be added, subtracted and compared against each other. From a given input made in the user's native language, the unit of measurement can be automatically extracted. Numerous units of measurement are supported.

Example #1 Converting measurements

The following introductory example shows automatic conversion of units of measurement. To convert a measurement, its value and its type have to be known. The value can be an integer, a float, or even a string containing a number. Conversions are only possible for units of the same type (mass, area, temperature, velocity, etc.), not between types.

1. $locale = new Zend_Locale('en');
2. $unit = new Zend_Measure_Length(100, Zend_Measure_Length::METER, $locale);
4. // Convert meters to yards
5. echo $unit->convertTo(Zend_Measure_Length::YARD);

Zend_Measure_* includes support for many different units of measurement. The units of measurement all have a unified notation: Zend_Measure_<TYPE>::NAME_OF_UNIT, where <TYPE> corresponds to a well-known physical or numerical property. . Every unit of measurement consists of a conversion factor and a display unit. A detailed list can be found in the chapter `Types of measurements`.

Example #2 The meter measurement

The `meter` is used for measuring lengths, so its type constant can be found in the `Length` class. To refer to this unit of measurement, the notation `Length::METER` must be used. The display unit is `m`.

1. echo Zend_Measure_Length::STANDARD; // outputs 'Length::METER'
2. echo Zend_Measure_Length::KILOMETER; // outputs 'Length::KILOMETER'
4. $unit = new Zend_Measure_Length(100,'METER');
5. echo $unit;
6. // outputs '100 m'

Zend_Measure | Zend_Measure Programmer's Reference Guide | Creation of Measurements