Actions

API15

Difference between revisions of "JArrayHelper/getValue"

From Joomla! Documentation

< API15:JArrayHelper
(New page: ===Description=== Utility function to return a value from a named array or a specified default <span class="editsection" style="font-size:76%;"> <nowiki>[</nowiki>[[Description:JArray...)
 
Line 17: Line 17:
 
!Description
 
!Description
 
|-
 
|-
|  
+
| &$array
 
|  
 
|  
 
|  $array A named array  
 
|  $array A named array  

Revision as of 12:40, 25 March 2010

Replacement filing cabinet.png
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.

Contents

Description

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

[Edit Descripton]

Description:JArrayHelper/getValue

Syntax

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

mixed The value from the source array

Defined in

libraries/joomla/utilities/arrayhelper.php

Importing

jimport( 'joomla.utilities.arrayhelper' );

Source Body

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] SeeAlso:JArrayHelper/getValue

Examples

<CodeExamplesForm />