API16

JArrayHelper/getValue

From Joomla! Documentation

< API16:JArrayHelper
Revision as of 05:19, 30 March 2010 by Doxiki (talk | contribs)

The "API16" 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='')
{
        // Initialise 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 />