Foreach As Key Value Loop

From Sputnik Wiki
Revision as of 13:01, 8 August 2014 by UberFoX (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Foreach As Key Value

Description

Loop based on an expression.

foreach( <expression> as <key> => <value> )
{
    statements
    ...
}

Parameters

expression

An expression needs to be an array for this loop to happen.

key

The variable to place the key in most common as a $variable.

value

The variable to place the value in most common as a $variable.

Remarks

For...As..Key..Value statements may be nested.

If you wish to edit an array as you loop through it check out Each( <array> ) command see its examples one of them should tell you how to do this.

Example

Here we cycle through binary data :

$var = array(
		"One" => 100,
		"Two" => 200,
		"Three" => 300
		);
 
Foreach ($var as $key => $value)
{
	println( "Key '$key' | Value '$value'" );
}


A reverse foreach

$var = array(
		"One" => 100,
		"Two" => 200,
		"Three" => 300
		);
 
println( "Key '$key' | Value '$value'" ) Foreach ($var as $key => $value);

Example of using Yield here

my $array = array("One" => "The", "Two" => "cat", "Three" => "and", "Four" => "the", "Five" => "dog");
 
List ( $k, $v ) = Cat($array);
say "Key is: $k, value is: $v";
List ( $k, $v ) = Cat($array);
say "Key is: $k, value is: $v";
List ( $k, $v ) = Cat($array);
say "Key is: $k, value is: $v";
List ( $k, $v ) = Cat($array);
say "Key is: $k, value is: $v";
List ( $k, $v ) = Cat($array);
say "Key is: $k, value is: $v";
 
Function Cat( &$array )
{
	foreach( $array as $key => $value)
		Yield return array($key, $value);
}
// Prints
// Key is: One, value is: The
// Key is: Two, value is: cat
// Key is: Three, value is: and
// Key is: Four, value is: the
// Key is: Five, value is: dog
// Yield is used to save the position in the array etc
// then continue from that position the next time you 
// do a loop etc
// So here it saves the position each time and gives
// the next item in the array each time you call the
// function
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox