4. Advanced features - adwins/Arrayer GitHub Wiki

4. Advanced features.

Introduction

Advanced features.

Details

/**
 * Get an independent copy of current object.
 */

$copy = $arrayer->copy();


/**
 * Get a copy with initial values, not trimmed at construct, not modified by methods, etc.
 */

$initial = $arrayer->initial();


/**
 * Get a copy with initial trimmed values, not modified by methods, etc.
 */

$initial = $arrayer->initial(true);


/**
 * Reset initial values to current values.
 * After this method Arrayer:initial() will return existed values by moment when Arrayer::reset() have been called.
 */

$arrayer->reset();


/**
 * Provide additional values to the object collection.
 */

$arrayer->values($values [, $expected=null [, $trim=false ] ]);

/**
 * Undo any changes to initial values.
 */

$arrayer->username->undo();


/**
 * You can combine methods.
 */

$arrayer->username->clean()->reset()->to_lower()->undo();

/**
 * This example cleans username, resets initial, transforms to lower and undoes to clean value again.
 */



/**
 * You can iterate Arrayer object
 */

foreach ($arrayer as $variable => $value){
	$value->to_lower();
}



/**
 * Getting data as array
 */

$simple_array = $arrayer->as_array();


/**
 * Getting data as json
 */

$json_string = $arrayer->as_json();


/**
 * Sending data as POST request
 */

$response = $arrayer->post('http://example.com/');


/**
 * Exporting data to $_POST variable
 */

$arrayer->export();


/**
 * Getting data as query
 */

$url = 'http://example.com/?' . $arrayer->as_query();

/**
 * This results to: http://example.com/?username=John%20Smith&age=30
 */

$url = 'http://example.com/?' . $arrayer->as_query('&');

/**
 * This results to: http://example.com/?username=John%20Smith&age=30
 */




/**
 * Getting data as safe SQL query
 */

$sql = 'UPDATE `users` SET ' 
	. $arrayer->as_sql_query()
	. ' WHERE `id` = "'
	. $arrayer->id->as_sql_query()
	. '" LIMIT 1';

/**
 * This results to:
 * UPDATE `users` SET `username`="John Smith", `age`="30", `email`="[email protected]",
 * `id`="13" WHERE `id`="13" LIMIT 1
 */

$sql = 'UPDATE `users` SET '
	. $arrayer->as_sql_query(array('username', 'age'))
	. ' WHERE `id` = "'
	. $arrayer->id->as_sql_query()
	. '" LIMIT 1';

/**
 * This results to:
 * UPDATE `users` SET `username`="John Smith", `age`="30" WHERE `id`="13" LIMIT 1
 */

$sql = 'INSERT INTO `users` '
	. $arrayer->as_sql_query(null, true);

/**
 * This results to:
 * INSERT INTO `users` (`username`, `age`, `email`)
 * VALUES ("John Smith", "30", "[email protected]")
 */


⚠️ **GitHub.com Fallback** ⚠️