Показать сообщение отдельно

  #6  
Старый 06.08.2009, 21:13
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

PHP код:
exchange_array_elements($input'a''d'); /* поменять местами элемент 'a' и 'd' */ 
Сама функция:
PHP код:
function exchange_array_elements(&$array$key_source$key_target)
{
        if (empty(
$array) || !is_array($array))
                return 
false;
        if ((
$key_source==$key_target))
                return 
false;
        
// find keys positions
        
$keys_positions=array_keys($array);
        
$key_source_position=array_shift(array_keys($keys_positions$key_source));
        
$key_target_position=array_shift(array_keys($keys_positions$key_target));
        
// exchange and sort postitions
        
if (($key_source_position!==null) && ($key_target_position!==null))
        {
                
$buffer=$keys_positions[$key_source_position];
                
$keys_positions[$key_source_position]=$keys_positions[$key_target_position];
                
$keys_positions[$key_target_position]=$buffer;
                
ksort($keys_positions);
                
// write array values in new sequence
                
$new_array=array();
                foreach (
$keys_positions as $key)
                {
                        
$new_array[$key]=$array[$key];
                        unset(
$array[$key]);
                }
                
$array=$new_array;
                return 
true;
        }
        return 
false;

Юзай ту что удобнее
 
Ответить с цитированием