Next: FLOOR, Previous: FGETC, Up: Intrinsic Procedures [Contents][Index]

### 9.108 `FINDLOC`

— Search an array for a value

*Description*:Determines the location of the element in the array with the value given in the

`VALUE`argument, or, if the`DIM`argument is supplied, determines the locations of the elements equal to the`VALUE`argument element along each row of the array in the`DIM`direction. If`MASK`is present, only the elements for which`MASK`is`.TRUE.`

are considered. If more than one element in the array has the value`VALUE`, the location returned is that of the first such element in array element order if the`BACK`is not present or if it is`.FALSE.`

. If`BACK`is true, the location returned is that of the last such element. If the array has zero size, or all of the elements of`MASK`are`.FALSE.`

, then the result is an array of zeroes. Similarly, if`DIM`is supplied and all of the elements of`MASK`along a given row are zero, the result value for that row is zero.*Standard*:Fortran 2008 and later.

*Class*:Transformational function

*Syntax*:`RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])`

`RESULT = FINDLOC(ARRAY, VALUE, [, MASK] [,KIND] [,BACK])`

*Arguments*:`ARRAY`Shall be an array of intrinsic type. `VALUE`A scalar of intrinsic type which is in type conformance with `ARRAY`.`DIM`(Optional) Shall be a scalar of type `INTEGER`

, with a value between one and the rank of`ARRAY`, inclusive. It may not be an optional dummy argument.`MASK`(Optional) Shall be of type `LOGICAL`

, and conformable with`ARRAY`.`KIND`(Optional) An `INTEGER`

initialization expression indicating the kind parameter of the result.`BACK`(Optional) A scalar of type `LOGICAL`

.*Return value*:If

`DIM`is absent, the result is a rank-one array with a length equal to the rank of`ARRAY`. If`DIM`is present, the result is an array with a rank one less than the rank of`ARRAY`, and a size corresponding to the size of`ARRAY`with the`DIM`dimension removed. If`DIM`is present and`ARRAY`has a rank of one, the result is a scalar. If the optional argument`KIND`is present, the result is an integer of kind`KIND`, otherwise it is of default kind.*See also*:

Next: FLOOR, Previous: FGETC, Up: Intrinsic Procedures [Contents][Index]