2014-08-04 4 views
0

У меня есть этот массивместо последний элемент снизу верхней части массива объектов StdClass

[questions] => Array 
     (
      [0] => stdClass Object 
       (
        [quid] => 1 
       ) 
      [1] => stdClass Object 
       (
        [quid] => 2 
       ) 
      [2] => stdClass Object 
       (
        [quid] => 64 
       ) 
     ) 

И я пытался переместить значение 64 в верхней части, а затем 1 и 2 будут come.My код

function sortById($x, $y) { 
return $x->quid - $y->quid; 
} 

usort($_SESSION['questions'], 'sortById'); 

но не работает.

+1

Что именно логика, которая определяет список в порядке '64, 1, 2'? –

+0

На самом деле нет логики. У меня есть этот массив, и просто я хочу поместить последний элемент в первый. – Raj

+0

'list ($ _ SESSION ['questions'] [0], $ _SESSION ['questions'] [2]) = [$ _SESSION ['questions'] [2], $ _SESSION ['questions'] [0]] ' – deceze

ответ

1

Комбинация array_unshift() и array_pop() сделает трюк. Это всегда будет принимать последний элемент из массива и поставить его на передний план.

array_unshift($_SESSION['questions'], array_pop($_SESSION['questions'])); 

DEMO

+0

Awesome ... Brilliant. Это то, что я искал. Большое вам спасибо. – Raj

+0

Добро пожаловать. Сделайте upvote и отметьте как принято, если он сделает то, что вы хотели. –

+0

Done thanks :) .. – Raj

Смежные вопросы