Just notice a query INTO ARRAY only is simpler in case of having such a one value result. It could also be used for a whole result set with multiple rows and columns, but addressing a cursor normally is simpler, especially since a cursor actually is a local albeit temporary DBF, you have exclusive access to.
A cursor also is kept in memory like an array. A cursor crsResult has a filename DBF("crsResult"), but that is just virtual as long as the cursor memory doesn't outgrow allocated memory.
And the best advantage is you can do further queries on that cursor, which isn't possible with an array. You can also update the resulting cursor when you query INTO CURSOR crsResult READWRITE. Otherwise, it is a read-only result with one exception, which would be leading too far off for now. It won't happen with a calculated result value anyway.
So INTO CURSOR is the usual target for a query. An array has the advantage of random access of row/col, of course, but VFP won't create associated arrays as PHP does, which you could access with field names instead of array element index, but a cursor simply has the access like a record object with cursorname.fieldname - what could be simpler? The fieldname only? Yes, that is an option, too.
So finally, the simplest answer to your question is CurrVal.
Bye, Olaf.