Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: массив
 
 автор: mabelrod   (21.06.2010 в 10:56)   письмо автору
 
 

у меня на входе массив из 4х элементов: 9, 15, 21, 3 как мне сделать что бы в массиве поменять местами первый и последний элемент массива ? то есть цифры 9 и 3

  Ответить  
 
 автор: Valick   (21.06.2010 в 11:19)   письмо автору
 
   для: mabelrod   (21.06.2010 в 10:56)
 

массив ассоциативный?

  Ответить  
 
 автор: Valick   (21.06.2010 в 11:29)   письмо автору
 
   для: mabelrod   (21.06.2010 в 10:56)
 

$c=count($mass);
$a=0;
foreach($mass as $key=>$value){
if($a==0) {$k=$key; $v=$value;}
$a++;
if($a==$c) {$mass[$key]=$v; $mass[$k]=$value;}
}

попробуйте так, но может можно и лучше придумать с несктом и курентом
а если массив имеет фиксированные ключи, то там совсем просто
___
да и не плохо было бы рассказать что это за массив (что за числа) и зачем нужно менять эти числа
задавая вопрос старайтесь полнее описывать задачу, не только что нужно чделать, но и зачем это делать, от этого зависит вариант ответа и скорость решения поставленной задачи

  Ответить  
 
 автор: Trianon   (21.06.2010 в 11:57)   письмо автору
 
   для: mabelrod   (21.06.2010 в 10:56)
 

array_slice()

+ (операция над массивами)

----

хотя, если подумать здраво, задача приводится к задаче обмена значений двух переменных.
Безо всяких функций и циклов.

PS. Цифры - это не то, что Вы думаете. В массиве у Вас числа, а не цифры.

  Ответить  
 
 автор: Valick   (21.06.2010 в 13:18)   письмо автору
 
   для: Trianon   (21.06.2010 в 11:57)
 

reset($mass);
$v1=prev($mass);
$k1=key($mass);
$v2=end($mass);
$k2=key($mass);
$mass[k1]=$v2;
$mass[$k2]=$v1;

а так проканает?

  Ответить  
 
 автор: sim5   (21.06.2010 в 13:55)   письмо автору
 
   для: Valick   (21.06.2010 в 13:18)
 

<?php
$a 
= array(915213);
$last array_pop($a);
array_push($aarray_shift($a));
array_unshift($a$last);

  Ответить  
 
 автор: Valick   (21.06.2010 в 13:59)   письмо автору
 
   для: sim5   (21.06.2010 в 13:55)
 

а если массив ассоциативный?

  Ответить  
 
 автор: sim5   (21.06.2010 в 14:02)   письмо автору
 
   для: Valick   (21.06.2010 в 13:59)
 

Если если, то не забываем и о ключах. Но такого условия не видно.

  Ответить  
 
 автор: Valick   (21.06.2010 в 14:07)   письмо автору
 
   для: sim5   (21.06.2010 в 14:02)
 

вот мне и интересно как будет выглядеть код вспомнив о ключах
мне показалось что код будет сложнее, поэтому сразу отказался от array_pop
___
просто сейчас нет времени запускать денвер и эксперементировать, поэтому
1 код голова-мануал, 2 код голова+мануал :)

  Ответить  
 
 автор: sim5   (21.06.2010 в 14:30)   письмо автору
 
   для: Valick   (21.06.2010 в 14:07)
 

Чем сложнее?
<?php
$a 
= array('a'=>9'b'=>15'c'=>21'd'=>3);
$n array_slice($a,1,-1);
$a array_reverse($atrue);
array_splice($a1count($n) , $n);
print_r($a);

  Ответить  
 
 автор: Valick   (21.06.2010 в 15:22)   письмо автору
 
   для: sim5   (21.06.2010 в 14:30)
 

вот что у меня ответил денвер
Array ( [d] => 3 [0] => 15 [1] => 21 [a] => 9 )

  Ответить  
 
 автор: sim5   (21.06.2010 в 15:27)   письмо автору
 
   для: Valick   (21.06.2010 в 15:22)
 

А вы что хотели? Вас же интересует ассоциация, так почему ключ при перемещении должен изменяться тогда? Вы уж тогда уясняйте чего хотите.

  Ответить  
 
 автор: Valick   (21.06.2010 в 15:41)   письмо автору
 
   для: sim5   (21.06.2010 в 15:27)
 

так почему ключ при перемещении должен изменяться тогда
потому что в этом и есть смысл задачи нужно поменять местами значения первого и последнего элемента массива, я не запускал Ваш первый пример, но почему-то уверен, что там до 0-9, 1-15, 2-21, 3-3 и после 0-3, 1-15, 2-21, 3-9
____
а вот КПД Вашего последнего скрипта равно абсолютному нулю :)

  Ответить  
 
 автор: sim5   (21.06.2010 в 15:53)   письмо автору
 
   для: Valick   (21.06.2010 в 15:41)
 

Если там 0-9..., то забудьте нафик об ассоциации, это уже просто не разумно.

[поправлено модератором]

  Ответить  
 
 автор: Valick   (21.06.2010 в 15:57)   письмо автору
 
   для: sim5   (21.06.2010 в 15:53)
 

[поправлено модератором]

  Ответить  
 
 автор: sim5   (21.06.2010 в 15:59)   письмо автору
 
   для: Valick   (21.06.2010 в 15:57)
 

[поправлено модератором]

  Ответить  
 
 автор: Valick   (21.06.2010 в 16:04)   письмо автору
 
   для: sim5   (21.06.2010 в 15:59)
 

если к массиву наплевав на ключи обращаться current, то смысл еще есть, а если по ключу массива то как я и сказал КПД = 0%
___
я уверен, что автор имел ввиду не сами элементы массива, а значения этих элементов
могу я ошибаться? конечно могу.

[поправлено модератором]

  Ответить  
 
 автор: sim5   (21.06.2010 в 16:19)   письмо автору
 
   для: Valick   (21.06.2010 в 16:04)
 

Вам показали как сменить значения крайних элементов массива, оказалось, что плохо, не учтены ключи ассоциации. Учли ключи, оказывается теперь они нафик не нужны

[поправлено модератором]

  Ответить  
 
 автор: Valick   (21.06.2010 в 16:22)   письмо автору
 
   для: sim5   (21.06.2010 в 16:19)
 

вот именно это решение я и попросил Вас написать
(и как мне казалось я выразился абсолютно четко и ясно)

  Ответить  
 
 автор: sim5   (21.06.2010 в 16:27)   письмо автору
 
   для: Valick   (21.06.2010 в 16:22)
 

Вот этого как раз и не наблюдается - четкости и ясности, ибо первый массив, это чистая рокировка элементов, и в случае с ассоциативным массивом, это будет означать и сохранение их ключей.
А вот то, что вы просите, так это обмен значениями крайних массивов, и сделать это тоже можно лекго, намного легче вашего. Читайте мануал, хвать болтать попусту

  Ответить  
 
 автор: Valick   (21.06.2010 в 16:42)   письмо автору
 
   для: sim5   (21.06.2010 в 16:27)
 

я настаиваю, делайте, в противном случае это будет означать болтать попусту
оба моих скрипта (второй нужно немного поправить)
работают с любым массивом и с любым количеством элементов этого массива
и в случае с ассоциативным массивом, это будет означать и сохранение их ключей
вот это Вы как раз придумали сами и пытаетесь мне это навязать

вот мои исправленные решения:
<?php
$mass
=array('a'=>9'b'=>15'c'=>21'd'=>3);
print_r($mass); echo "<br />";
reset($mass); 
$v1=current($mass); 
$k1=key($mass); 
$v2=end($mass);
$k2=key($mass); 
$mass[$k1]=$v2
$mass[$k2]=$v1;
print_r($mass); echo "<br />";
?>
<hr>
<?php
print_r
($mass); echo "<br />";
$c=count($mass); 
$a=0
foreach(
$mass as $key=>$value){ 
if(
$a==0) {$k=$key$v=$value;} 
$a++;
if(
$a==$c) {$mass[$key]=$v$mass[$k]=$value;} 
}
print_r($mass); echo "<br />";

__
еще раз повторяю, Вы в первом своем коде поменяли местами значения крайних элементов массива, я Вас попросил сделать тоже самое с ассоциативным массивом, а именно поменять значения(!) крайних элементов массива
__
оказалось, что плохо, не учтены ключи ассоциации
и это Вы взяли с потолка и притянули за уши...
я Вас просто попросил "скормить" своему скрипту вместо обычного массива, ассоциативный.

  Ответить  
 
 автор: sim5   (21.06.2010 в 17:02)   письмо автору
 
   для: Valick   (21.06.2010 в 16:42)
 

Значит так - можете даже в анналы свой скрипт поместить, мне он не нужен. ;-)
Если бы у автора был ассоциативный массив, то и менять местами его элементы не нужно, ибо на то она и ассоциация, чтобы обращаться к элементу массива по имени. А если поменять значения крайних в ассоцииации, то исходя из вашего уже можно проще:
<?
$a
= array('a'=>9'b'=>15'c'=>21'd'=>3); 
$n current($a);
end($a);
$m current($a); 
$a[key($a)]=$n;
reset($a);
$a[key($a)]=$m
print_r($a);

reset($mass); - это лишнее, в только что объявленном массиве указатель никак не будет находиться где-то по середине.

  Ответить  
 
 автор: Valick   (21.06.2010 в 17:23)   письмо автору
 
   для: sim5   (21.06.2010 в 17:02)
 

на то она и ассоциация, чтобы обращаться к элементу массива по имени
и что? это замечание к данному вопросу не имеет отношения
можете даже в анналы свой скрипт поместить, мне он не нужен
Вы просто переписали тот код который написал я, а я Вас просил написать скрипт с использованием тех функций которые были в первом скрипте с учетом работы с ассоциативным массивом не просто так
reset($mass); - это лишнее, в только что объявленном массиве указатель никак не будет находиться где-то по середине
в реальном приложение он может быть каким угодно, а учитывая что от reset Вы никуда не ушли (просто написав его двумя строками ниже) и это замечание тоже не уместно.

а теперь самый главный вопрос - о чем мы так долго спорили? если в конце концов написали идентичный код не раз обвинив мнея до этого в ахинее?

  Ответить  
 
 автор: sim5   (21.06.2010 в 17:37)   письмо автору
 
   для: Valick   (21.06.2010 в 17:23)
 

Я ничего не перписывал, ибо все что я написал, описано в мануале, а не у вас почерпнуто. По крайней мере, я не буду создавать переменные под ключ, а буду всегда писать так, как написал.
В реальном, это в реальном, вы же объявляете массив, и тут же устанавливаете его указатель в начало.

PS. Собственно, чтобы вам не казалось, что я присвоил авторский код, я напишу как я вижу решение и делал бы (если именно это нужно):
<?
$a
= array('a'=>9'b'=>15'c'=>21'd'=>3); 
$m array_values($a);
$a[key($a)] = $m[count($m)-1];
end($a);
$a[key($a)]=$m[0];
print_r($a);

Надеюсь в этом случае вы меня не обвините в плагиате? :)

  Ответить  
 
 автор: Valick   (21.06.2010 в 18:10)   письмо автору
 
   для: sim5   (21.06.2010 в 17:37)
 

в этом случае не обвиню, да и в том случае я не обвинял (это просто издержки форума Вы не совсем правильно меня интерпретируете), а просто сказал, что код идентичен, а я ждал от Вас другого решения, но array_slice() или array_pop() я в коде попрежнему не вижу и именно об этом я и говорил в самом начале.
цитирую сам себя:
вот мне и интересно как будет выглядеть код вспомнив о ключах
мне показалось что код будет сложнее, поэтому сразу отказался от array_pop

__
но reset() в код я всетаки добавил бы :)

  Ответить  
 
 автор: sim5   (21.06.2010 в 18:23)   письмо автору
 
   для: Valick   (21.06.2010 в 18:10)
 

А вы думаете я читать не умею, и буду пользоваться функциями, которые совсем не подходят для этого решения, полагая, что они универсальные? Я что на идиота похож, чтобы выдавать вам решение, используя array_slice() и array_pop() для обмена элементами значений? ;-)

PS. reset было бы добавлять, только в том случае, если с массивом работали (догадайтесь какими методами, а какие не повлияют в данном случае?), в примере я не вижу необходимости в этом. Коли бы я работал с ним, я бы добавил, а про запас, так это лишнее.

  Ответить  
 
 автор: Valick   (21.06.2010 в 18:26)   письмо автору
 
   для: sim5   (21.06.2010 в 18:23)
 

;-)

  Ответить  
 
 автор: sim5   (21.06.2010 в 18:28)   письмо автору
 
   для: Valick   (21.06.2010 в 18:26)
 

Валик, хватит гнать, пока у меня крыша не едет еще...

  Ответить  
 
 автор: Valick   (21.06.2010 в 18:32)   письмо автору
 
   для: sim5   (21.06.2010 в 18:28)
 

Вы сами себя загоняете, я даже ничего не сказал, просто ответил одним Вашим постом, на другой Ваш пост :)
___
видать я много в детстве Эрла Стенли Гарднера начитался))) всегда нравились сцены перекрестного допроса ;)

  Ответить  
 
 автор: sim5   (21.06.2010 в 18:52)   письмо автору
 
   для: Valick   (21.06.2010 в 18:32)
 

И чем же вы ответили? Вы уж хотя бы конкретно скажите, чего вам в конце концов надо? Чтобы обязательно в коде использовать срез массива и выталкивание из него элементов?
Так какие проблемы, можно и зайдествовать, а разумно это будет?

  Ответить  
 
 автор: Valick   (21.06.2010 в 18:58)   письмо автору
 
   для: sim5   (21.06.2010 в 18:52)
 

да тут я попять ошибся))) всетаки Вы там поменяли элементы массива, а не их значения, поэтому ответ постом на пост получился не корректным.
что мне надо? да ничего не надо кроме приятного разговора и установления истины :)
зато в ходе дискуссии мы нашли два решения, и возможно в скором времени договоримся до третьего :)

  Ответить  
 
 автор: sim5   (21.06.2010 в 19:12)   письмо автору
 
   для: Valick   (21.06.2010 в 18:58)
 

Ясно, короче пофлудить вам захотелось.
1. В исходной авторской задаче явно видно (ассоциация это только ваши предположения), что нужно просто поменять местами элементы индексного массива.
2. Поменяли.
3. Возник вопрос - "а если ассоциативный"?
4. Поменяли согласно задаче (меняем элементы местами, другого я пока ни от кого не слышал, включая и вас).
5. Оказывается требовалось сменить значения у ассоциаций (но это опять таки ваше предположение).
6. Бог с ним, выполнили и эту просьбу.
7. Оказывается опять не то сделали, вы ожидали, что будут применены прежние функции. Да пожайлуйста! Надо?

  Ответить  
 
 автор: Valick   (21.06.2010 в 19:23)   письмо автору
 
   для: sim5   (21.06.2010 в 19:12)
 

нет не надо, если только Вы не собираетесь доказывать, что код будет проще предложенных.
4 пункт спорный и я Вам уже неоднократно говорил почему( см решение пункта 2, а также пункт 1 и пункт 4 явно противоречат друг другу... в первом вы меняете именно значения элементов, в 4-том сами элементы
В исходной авторской задаче явно видно, что нужно просто поменять местами элементы индексного массива
но поменяли-то вы значения.
).
__
не могу не сказать, уж простите, но решение предложенное мной лучше так как не зависит от размера массива... в Вашем случае дублируется массив, в итоге расход оперативки увеличивается в два раза.

  Ответить  
 
 автор: sim5   (21.06.2010 в 19:33)   письмо автору
 
   для: Valick   (21.06.2010 в 19:23)
 

Как же вы достали, охота уже заматериться...
Я не менял значения! Я переставил элементы массива - ключ->значение!
А уж менял значения по вашей просьбе.
Ну блин, слов просто нет.

>не могу не сказать, уж простите, но решение предложенное мной лучше так как не зависит от размера массива...

Полнейшая чушь - этот код не зависит от размера массива. Ну вы бы хоть мозгами бы порасскинули, ну с чего это такое утверждение?
А вот экономия, так это уже иной вопрос, и рассматриваться должен в рамках конкретных условий. Собственно решений может быть не одно, если подумать, и ваш код не панацея, да и не лучший.

  Ответить  
 
 автор: Valick   (21.06.2010 в 19:48)   письмо автору
 
   для: sim5   (21.06.2010 в 19:33)
 

и ваш код не панацея, да и не лучший
тогда не будте голословным укажите на недостатки
Как же вы достали, охота уже заматериться...
можете материться, у меня к этому иммунитет...
Я не менял значения!
меняли, и это очень легко доказать
при обращении к массиву по ключу:
в исходном массиве:
echo $a[0]; будет равно 9
echo $a[3]; будет равно 3
после преобразования:
echo $a[0]; будет равно 3
echo $a[3]; будет равно 9
Вы по-прежнему утверждаете что не меняли значения?
Полнейшая чушь - этот код не зависит от размера массива. Ну вы бы хоть мозгами бы порасскинули, ну с чего это такое утверждение?
с того что вы создаете индексную копию ассоциативного массива по средствам array_values
Ну блин, слов просто нет
ищите ибо я серьезно настроен разделать Вас под орех или висеть на Вашем щиту, третьего не дано :)

  Ответить  
 
 автор: sim5   (21.06.2010 в 20:16)   письмо автору
 
   для: Valick   (21.06.2010 в 19:48)
 

Значит так:
1. Код от 21.06.2010 в 14:30 не меняет значения, он меняет местами элементы массива, парой - ключ->значение! Это согласно логике вопроса автора.
2. Код от 21.06.2010 в 17:37 меняет значения крайних элементов массива!
3. То что код не будет работать с любой длиной массива, это полнейший бред.
4. Вас беспокоит расход памяти? Так извените, у вас к заврашнему еще какие либо притензии появяться, а чтобы их не было, пожайлуйста:
<?
$a
= array('a'=>9'b'=>15'c'=>21'd'=>3'e'=>23'f'=>45'g'=>234);  
$m = array(current($a), array_values(array_slice($a,-1)));
$a[key($a)] = $m[1][0]; 
end($a); 
$a[key($a)]=$m[0]; 
print_r($a);
?>

Ну что попусту молотить то? Загляните в мануал - ваш код не панацея, и не из лучших.

  Ответить  
 
 автор: Valick   (21.06.2010 в 20:30)   письмо автору
 
   для: sim5   (21.06.2010 в 20:16)
 

3. То что код не будет работать с любой длиной массива, это полнейший бред.
ткните пальцем где Вы это прочитали, а то может я сошел с ума и у меня раз(n)ение личности.
Но память в любом случае не ризиновая и в Вашем случае шансов выйти за ее пределы ограничения объема ровно в 2 раза больше в отличии от моего (касательно предыдущего скрипта).
4. Вас беспокоит расход памяти?
смею утверждать что это должно волновать каждого на этом форуме.
__
рабочий день закончен, поеду домой анализировать Ваш последний скрипт.
(продолжение следует)

  Ответить  
 
 автор: sim5   (21.06.2010 в 20:35)   письмо автору
 
   для: Valick   (21.06.2010 в 20:30)
 

>3. То что код не будет работать с любой длиной массива, это полнейший бред.
>ткните пальцем где Вы это прочитали, а то может я сошел с ума

А вот это я придумал, да?:

>автор: Valick (21.06.2010 в 19:23)
>не могу не сказать, уж простите, но решение предложенное мной лучше
>так как не зависит от размера массива...

>4. Вас беспокоит расход памяти?
>смею утверждать что это должно волновать каждого на этом форуме.

Для этого стоило просто заглянуть в мануал, и продолжения этой бессмысленной дискусси не было бы.

  Ответить  
 
 автор: Valick   (21.06.2010 в 21:33)   письмо автору
 
   для: sim5   (21.06.2010 в 20:35)
 

Сим, я прекрасно понимаю, что вырывать фразу из контекста и трактовать её так как вам угодно это Ваше любимое занятие, но даже при таком раскладе, я настаиваю, укажите где именно я написал строчку Ваш код не будет работать с большим массивом (этот пост не считается)
Для этого стоило просто заглянуть в мануал, и продолжения этой бессмысленной дискусси не было бы.
Прошу впредь не посылать меня в мануал (я Вас туда никогда не посылал) не указывая четкую ссылку. Идеальным было бы предложение с краткой выпиской из мануала и ссылку на него же. Без этого это громкий ба-бах в чистое небо холостыми патронами.

  Ответить  
 
 автор: sim5   (21.06.2010 в 21:55)   письмо автору
 
   для: Valick   (21.06.2010 в 21:33)
 

Валик, ну вы молодец. А как я должен понимать слова, что ваш код лучше, так как не зависит от длины массива? Ведь следует полагать, что то, что я написал, зависит от длины его, то есть не будет работать с любой длиной массива. Вы уж тогда не изъясняйтесь эзоповым языком, а выражайтесь более ясно, если ваши речи выражают не то, о чем могут подумать.

А заглядывать в мануал, это что постыдно? Я лично так не считаю. Запоминается хорошо то, что часто используется, да и то иногда можно и кое что перепутать тоже. Разве обязательно изучать все, что он содержит, наизусть?

Я вижу у автора массив с четырмя элементами. А стоит ли думать в данном случае об экономии? Вы думаете выигрыш будет? Проверьте, вот эта запись:
$a= array('a'=>9, 'b'=>15, 'c'=>21, 'd'=>3);  
$m = array_values($a);

будет расходовать меньше памяти, чем эта:
$a= array('a'=>9, 'b'=>15, 'c'=>21, 'd'=>3);   
$m = array(current($a), array_values(array_slice($a,-1)));

К тому же, во втором случае требуется больше работы. Стоит ли овчинка выделки? Другой вопрос, если речь идет о большом объеме данных, но неуж-то вы не знаете, что можно получить некоторые элементы массива? Знаете конечно, ну а какими путями это можно сделать, так и в мануал можно заглянуть, чтобы выбрать лучшее. Вот я вам и посоветовал.

  Ответить  
 
 автор: Valick   (21.06.2010 в 22:25)   письмо автору
 
   для: sim5   (21.06.2010 в 21:55)
 

А как я должен понимать слова, что ваш код лучше, так как не зависит от длины массива?
именно так как я написал, в Вашем случае расход памяти увеличивается прямо пропорционально величине массива...
Другой вопрос, если речь идет о большом объеме данных
нет это не другой вопрос, а именно об этом и идет речь.
но неуж-то вы не знаете, что можно получить некоторые элементы массива?
знаю, и написал код в самом начале дискуссии (код номер 2)
Знаете конечно, ну а какими путями это можно сделать, так и в мануал можно заглянуть
именно это я и написал, цитирую:
1код голова-мануал, 2 код голова+мануал
Я вижу у автора массив с четырмя элементами. А стоит ли думать в данном случае об экономии?
однозначно да (курочка по зёрнышку) - РНР это язык в котором требуется самодисциплина (это не я сказал, если не ошибаюсь об этом упоминал Д.Котеров)
а выражайтесь более ясно, если ваши речи выражают не то, о чем могут подумать
я вижу что Вы меня не понимаете, но почему это происходит я понять не могу.
А заглядывать в мануал, это что постыдно?
нет не постыдно, но почему Вы упорно считаете, что я туда не заглядываю, для меня остается загадкой.
Валик, ну вы молодец
спасибо :)

  Ответить  
 
 автор: sim5   (21.06.2010 в 22:29)   письмо автору
 
   для: Valick   (21.06.2010 в 22:25)
 

Валик, вас несет... ;-)

РНР, это язык изобилующий лишними функциями, поэтому в нем можно писать код:
сверху-вниз
снизу-вверх
слева-направо
.....
Это сказал я. Что там сказал Котеров, мне по-барабану.
А вот думать об экономии, так надо сперва подумать, стоить ли думать в конкретном случае. Не беспокойтесь, не только вы этим озабочены.

  Ответить  
 
 автор: Valick   (21.06.2010 в 16:20)   письмо автору
 
   для: sim5   (21.06.2010 в 15:59)
 

а вот Вам значения Вашего первого кода
до Array ( [0] => 9 [1] => 15 [2] => 21 [3] => 3 )
после Array ( [0] => 3 [1] => 15 [2] => 21 [3] => 9 )
здесь Вы почему-то поменяли именно значения элементов массива (чего собственно по моему разумению и хотел автор)
потом я Вас попросил сделать тоже самое но с ассоциативным массивом
вместо этого Вы написали алгоритм с совершенно другой логикой...
___
ахинея?

  Ответить  
 
 автор: sim5   (21.06.2010 в 18:08)   письмо автору
 
   для: sim5   (21.06.2010 в 15:59)
 

А не лучше ли было вообще-то тогда удалить? :))

  Ответить  
 
 автор: ols   (21.06.2010 в 13:58)   письмо автору
 
   для: Valick   (21.06.2010 в 13:18)
 



<?
  
function array_first_end_change($a)
  {
      
$f array_shift($a);
      
$e array_pop($a);
      
$u array_unshift($a,$e);
      
$p array_push($a,$f);
      return 
$a;
  }
    
$ar = array(915213);
    
$res array_first_end_change($ar);
    
print_r($res);
?>

А так?)))

  Ответить  
 
 автор: Valick   (21.06.2010 в 14:00)   письмо автору
 
   для: ols   (21.06.2010 в 13:58)
 

тот же вопрос, что и к sim5

  Ответить  
 
 автор: ols   (21.06.2010 в 14:07)   письмо автору
 
   для: Valick   (21.06.2010 в 14:00)
 

Авторя, явно, подразумевал неасоциативный массив исходя из примера.

  Ответить  
 
 автор: Trianon   (21.06.2010 в 14:06)   письмо автору
 
   для: Valick   (21.06.2010 в 13:18)
 

если только у Вас тоже такой странный массив завелся и скулит.

Потому что у тредстартера сама постановка проблемы такова, что явно в модели что-то нездоровое, и лечить начинать надо именно модель, а никак не код.
У Вас, я надеюсь, ничего подобного не болит происходит.

  Ответить  
 
 автор: Valick   (21.06.2010 в 14:38)   письмо автору
 
   для: Trianon   (21.06.2010 в 14:06)
 

нет не завелся (более того я у автора пытаюсь выведать откуда ноги растут)
Вы припоминаете задачу когда нужно было определенным образом распределить массив почтовых адресов? вот там действительно было интересно (не смотря на то, что зачада за версту пахла спамом)

  Ответить  
 
 автор: sim5   (21.06.2010 в 12:01)   письмо автору
 
   для: mabelrod   (21.06.2010 в 10:56)
 

Нужен порядок? Сортируйте.

  Ответить  
 
 автор: Valick   (21.06.2010 в 12:26)   письмо автору
 
   для: sim5   (21.06.2010 в 12:01)
 

для Вас 9,15,21,3 - беспорядок, а 3,15,21,9 порядок? :))

  Ответить  
 
 автор: sim5   (21.06.2010 в 12:39)   письмо автору
 
   для: Valick   (21.06.2010 в 12:26)
 

И правда, девятка в уме затерялась. )

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования