map ( $map, $member, $default_key )

Takes an associative array to convert to query string keys.

Access

public static

Parameters

Parameter

Type

Required

Description

$map

array

Required

An associative array.

$member

string

Optional

The name of the “member” property that AWS uses for lists in certain services. Defaults to an empty string.

$default_key

string

Optional

The default key to use when the value for $data is a string. Defaults to an empty string.

Returns

Type

Description

array

The option group parameters to merge into another method’s $opt parameter.

Examples

Convert a native PHP associative array into a parameter list.

// Test data
$map = array(
	"IpPermissions" => array(
		array(
			"IpProtocol" => "tcp",
			"FromPort"   => 3023,
			"ToPort"     => 3024,
			"Groups"     => array(
				array( "UserId" => "user1", "GroupName" => "group1" ),
				array( "UserId" => "user2", "GroupName" => "group2" )
			),
			"IpRanges" => array(
				array("CidrIp" => "192.168.0.1"),
				array("CidrIp" => "192.168.0.2")
			)
		),
		array(
			"IpProtocol" => "tcp",
			"FromPort"   => 3023,
			"ToPort"     => 3024,
			"Groups"     => array(
				array( "UserId" => "user1", "GroupName" => "group1" ),
				array( "UserId" => "user2", "GroupName" => "group2" )
			),
			"IpRanges" => array(
				array("CidrIp" => "192.168.0.1"),
				array("CidrIp" => "192.168.0.2")
			)
		)
	)
);

$data = CFComplexType::map($map);

// Success?
var_dump($data);
Result:
array(18) {
  ["IpPermissions.1.IpProtocol"]=>
  string(3) "tcp"
  ["IpPermissions.1.FromPort"]=>
  int(3023)
  ["IpPermissions.1.ToPort"]=>
  int(3024)
  ["IpPermissions.1.Groups.1.UserId"]=>
  string(5) "user1"
  ["IpPermissions.1.Groups.1.GroupName"]=>
  string(6) "group1"
  ["IpPermissions.1.Groups.2.UserId"]=>
  string(5) "user2"
  ["IpPermissions.1.Groups.2.GroupName"]=>
  string(6) "group2"
  ["IpPermissions.1.IpRanges.1.CidrIp"]=>
  string(11) "192.168.0.1"
  ["IpPermissions.1.IpRanges.2.CidrIp"]=>
  string(11) "192.168.0.2"
  ["IpPermissions.2.IpProtocol"]=>
  string(3) "tcp"
  ["IpPermissions.2.FromPort"]=>
  int(3023)
  ["IpPermissions.2.ToPort"]=>
  int(3024)
  ["IpPermissions.2.Groups.1.UserId"]=>
  string(5) "user1"
  ["IpPermissions.2.Groups.1.GroupName"]=>
  string(6) "group1"
  ["IpPermissions.2.Groups.2.UserId"]=>
  string(5) "user2"
  ["IpPermissions.2.Groups.2.GroupName"]=>
  string(6) "group2"
  ["IpPermissions.2.IpRanges.1.CidrIp"]=>
  string(11) "192.168.0.1"
  ["IpPermissions.2.IpRanges.2.CidrIp"]=>
  string(11) "192.168.0.2"
}

Source

Method defined in utilities/complextype.class.php | Toggle source view (4 lines) | View on GitHub

public static function map($map, $member = '', $default_key = '')
{
    return self::option_group($map, $member, $default_key);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback