Skip to content

Instantly share code, notes, and snippets.

@idev247
Created February 28, 2013 23:18
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save idev247/5061022 to your computer and use it in GitHub Desktop.
Save idev247/5061022 to your computer and use it in GitHub Desktop.
Various PHP tricks: - Array - Find previous array element
<?php
/**
* Array: Find previous element (method 1)
* @source http://stackoverflow.com/questions/4792673/php-get-previous-array-element-knowing-current-array-key
*/
$array = array(
12 => array('a','b'),
34 => array('c','d'),
56 => array('e','f')
);
$keys = array_keys($array);
$keyPos = array_flip($keys);
$values = array_values($array);
$search = 56;
echo $values[$keyPos[$search]-1]; // returns previous element's value: array('c','d')
echo $keys[$keyPos[$serach]-1]; // returns previous element's key: 34
/**
* Array: Find previous element (method 2)
* @source http://stackoverflow.com/questions/4792673/php-get-previous-array-element-knowing-current-array-key
*/
$array = array(
12 => array('a','b'),
34 => array('c','d'),
56 => array('e','f')
);
while(key($array) !== null && key($array) !== $key);
echo prev($array); // returns previous element's value: array('c','d')
echo key($array); // returns previous element's key: 34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment