CFLib.org – Common Function Library Project

ArrayFindByDimension(arrayToSearch, valueToFind, dimensionToSearch)

Last updated September 23, 2004
Download UDF

author

Grant Szabo                                       Grant Szabo

Version: 1 | Requires: ColdFusion MX | Library: DataManipulationLib

 
Rated 2 time(s). Average Rating: 5.0

Description:
Extends Nathan Dintenfass' ArrayFindNoCase() by adding ability to search a specified dimension of a multidimensional array. Returns numeric array position of first dimension if element found, otherwise returns 0.

Return Values:
Returns a number.

Example:

<cfscript>
arr = arrayNew(2);
arr[1][1] = "apple";
arr[1][2] = "pear";
arr[1][3] = "orange";
arr[2][1] = "star";
arr[2][2] = "nova";
arr[2][3] = "moon";

writeOutput(arrayFindByDimension(arr,"star",1) & "<br>");            
writeOutput(arrayFindByDimension(arr,"star",2) & "<br>");            

</cfscript>

Parameters:

Name Description Required
arrayToSearch Array to search. Yes
valueToFind Value to find. Yes
dimensionToSearch Dimension to search. Yes

Full UDF Source:

<!---
Search a multidimensional array for a value.

@param arrayToSearch      Array to search. (Required)
@param valueToFind      Value to find. (Required)
@param dimensionToSearch      Dimension to search. (Required)
@return Returns a number.
@author Grant Szabo (grant@quagmire.com)
@version 1, September 23, 2004
--->

<cffunction name="ArrayFindByDimension" access="public" returntype="numeric" output="false">
    <cfargument name="arrayToSearch" type="array" required="Yes">
    <cfargument name="valueToFind" type="string" required="Yes">
    <cfargument name="dimensionToSearch" type="numeric" required="Yes">
    <cfscript>
        var ii = 1;
        
        //loop through the array, looking for the value
        for(; ii LTE arrayLen(arguments.arrayToSearch); ii = ii + 1){
            //if this is the value, return the index
            if(NOT compareNoCase(arguments.arrayToSearch[ii][arguments.dimensionToSearch], arguments.valueToFind))
                return ii;
        }
        //if we've gotten this far, it means the value was not found, so return 0
        return 0;
    
</cfscript>
</cffunction>

Search CFLib.org


Latest Additions

Shawn Porter Shawn Porter added
DeMoronize
2 hour(s) ago

Chris Carey Chris Carey added
readPropertiesFi...
1 day(s) ago

Randy Johnson Randy Johnson added
lastDayofWeek
3 day(s) ago

Frank Marion Frank Marion added
sitemapPing
7 day(s) ago

Top Rated

James Sleeman                                     QuickSort
Rated 5.0, 3 time(s)

Barney Boisvert indentXml
Rated 5.0, 3 time(s)

Nathan Dintenfass                                 queryColumnsToSt...
Rated 5.0, 3 time(s)

Kevin Pepperman generateSsccAsn
Rated 5.0, 3 time(s)

Created by Raymond Camden / Design by Justin Johnson