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
Shawn Porter added
DeMoronize
2 hour(s) ago
Chris Carey added
readPropertiesFi...
1 day(s) ago
Randy Johnson added
lastDayofWeek
3 day(s) ago
Frank Marion added
sitemapPing
7 day(s) ago
Top Rated
QuickSort
Rated 5.0, 3 time(s)
indentXml
Rated 5.0, 3 time(s)
queryColumnsToSt...
Rated 5.0, 3 time(s)
generateSsccAsn
Rated 5.0, 3 time(s)