API15

JArrayHelper/getValue

From Joomla! Documentation

< API15:JArrayHelper
Revision as of 12:40, 25 March 2010 by Doxiki (talk | contribs)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The "API15" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Utility function to return a value from a named array or a specified default

[Edit Descripton]

Template:Description:JArrayHelper/getValue

Syntax[edit]

getValue(&$array, $name, $default=null, $type='')
Parameter Name Default Value Description
&$array $array A named array
$name $name The key to search for
$default null $default The default value to give if no key found
$type $type Return type for the variable (INT, FLOAT, STRING, WORD, BOOLEAN, ARRAY)

Returns[edit]

mixed The value from the source array

Defined in[edit]

libraries/joomla/utilities/arrayhelper.php

Importing[edit]

jimport( 'joomla.utilities.arrayhelper' );

Source Body[edit]

function getValue(&$array, $name, $default=null, $type='')
{
        // Initialize variables
        $result = null;

        if (isset ($array[$name])) {
                $result = $array[$name];
        }

        // Handle the default case
        if (is_null($result)) {
                $result = $default;
        }

        // Handle the type constraint
        switch (strtoupper($type))
        {
                case 'INT' :
                case 'INTEGER' :
                        // Only use the first integer value
                        @ preg_match('/-?[0-9]+/', $result, $matches);
                        $result = @ (int) $matches[0];
                        break;

                case 'FLOAT' :
                case 'DOUBLE' :
                        // Only use the first floating point value
                        @ preg_match('/-?[0-9]+(\.[0-9]+)?/', $result, $matches);
                        $result = @ (float) $matches[0];
                        break;

                case 'BOOL' :
                case 'BOOLEAN' :
                        $result = (bool) $result;
                        break;

                case 'ARRAY' :
                        if (!is_array($result)) {
                                $result = array ($result);
                        }
                        break;

                case 'STRING' :
                        $result = (string) $result;
                        break;

                case 'WORD' :
                        $result = (string) preg_replace( '#\W#', '', $result );
                        break;

                case 'NONE' :
                default :
                        // No casting necessary
                        break;
        }
        return $result;
}

[Edit See Also] Template:SeeAlso:JArrayHelper/getValue

Examples[edit]

<CodeExamplesForm />