Core Function StrIndex
StrIndex( <expression>, <index>, <value> )
Contents |
Description
Get or set a char from/to a string at a specific index.
Parameters
expression
The string to use.
index
Index of the string to get/set data to/from.
If the index is a negative value the character position will work backwards from the length of the string.
value
Optional; If this param exists it will set the CHAR value of this param to the string at the given index.
OTHERWISE it will return the char at the index.
Return Value
Success: Returns the char at the given index IF only 2 params are used.
Success: Returns TRUE if 3 params are used.
Failure: Returns NULL
Remarks
When setting a char at a given Index it modifies the string in place and does not create a new one.
Sputnik 0.10 added ability to set chars directly using the [] on strings.
Example
// Set a string $a = "Hello"; // This is one of the few functions // that will modify the value directly // rather than return it modified. StrIndex($a, 1, "C"); // Actually changes the char in the string StrIndex($a, 2, "a"); // Actually changes the char in the string StrIndex($a, 3, "t"); // Actually changes the char in the string // Note - StrIndex with 3 parms does not return a value println($a); // Prints HCato // Print all chars for($i = 0; $i < StrLen($a); $i++) { println( StrIndex($a, $i) ); // StrIndex with 2 params only READS the strings chars // It does not modify them } // Print all chars using the [] // The $a[$i] works to GET chars for($i = 0; $i < StrLen($a); $i++) { println( $a[$i] ); }
Example of directly using the [] instead of StrIndex
// Set a string $a = "Hello"; $a[1] = "C"; // Actually changes the char in the string $a[2] = "a"; // Actually changes the char in the string $a[3] = "t"; // Actually changes the char in the string println($a); // Prints HCato // Print all chars using the [] // The $a[$i] works to GET chars too for($i = 0; $i < StrLen($a); $i++) { println( $a[$i] ); }
Using a negative index
// Set a string $a = "Hello"; // This is one of the few functions // that will modify the value directly // rather than return it modified. StrIndex($a, -1, "C"); // Actually changes the char in the string StrIndex($a, 2, "a"); // Actually changes the char in the string StrIndex($a, 3, "t"); // Actually changes the char in the string // Note - StrIndex with 3 parms does not return a value println($a); // Prints HeatC