ArrayFindByDimension(arrayToSearch, valueToFind, dimensionToSearch)
Last updated September 23, 2004
Version: 1 | Requires: ColdFusion MX | Library: DataManipulationLib
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:
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
Tayo Akinmade added
arrayTrim
11 day(s) ago
Will Belden added
longTime
17 day(s) ago
James Sleeman added
quickSort
27 day(s) ago
Ben Forta added
GetHostAddress
30 day(s) ago
Top Rated
EksporSQLData
Rated 5.0, 16 time(s)
backupDatabase
Rated 5.0, 13 time(s)
indentXml
Rated 5.0, 10 time(s)
generateSsccAsn
Rated 5.0, 4 time(s)