[2] => A
[3] => B
[4] => V
[27] => G
[36] => D
Других элементов не существует. Нужно чтобы их ключи (или индексы - не знаю как правильно) шли по порядку от 0 до того сколько элементов в списке окажется. Наверняка есть специальная функция, но нигде не могу о ней ничего найти.
Это нужно для того чтобы вывести их цикле
for($n=0; isset($n_SERVER[$n]); $n++) { обработать каждый элемент }
Спустя 3 минуты, 19 секунд (25.10.2011 - 19:32) Winston написал(а):
$arr = array(2 => 'A', 3 => 'B', 4 => 'V', 27 => 'G', 36 => 'D');
print_r($arr);
print_r(array_values($arr));
Используй array_values
Спустя 1 минута, 8 секунд (25.10.2011 - 19:33) Игорь_Vasinsky написал(а):
ты открой любой сайт с функциями для работы с массивами php
- там много функций для сортировки - выберешь ту что нужна и заодно на другие посмотришь
а по по воду ключи-элементы
array(key=>value)
- там много функций для сортировки - выберешь ту что нужна и заодно на другие посмотришь
а по по воду ключи-элементы
array(key=>value)
Спустя 41 секунда (25.10.2011 - 19:34) Игорь_Vasinsky написал(а):
Winston
на блюдечке с голубой коёмочкой
на блюдечке с голубой коёмочкой
Спустя 2 минуты, 31 секунда (25.10.2011 - 19:36) Demjan написал(а):
В предшествующем куске кода такой не неуПорядочный массив создаётся, но мне сложнее вопрос сформулировать, слишком пространно получится (как обычно у меня выходит)... Надо задавать.
Код:
Полученный массив $n это и есть описанный неупорядоченный список. Может можно сделать чтоб ключи элементов в $n шли от 0 и по порядку?
Выручит ответ на любой из вопросов, а оба - совсем здорово. Надеюсь на помощь, жду, заранее спасибо!
Код:
$n = array_diff ($k, $i); // в массив $n помещаются элементы массива $k , не найденные в массиве $i.
Полученный массив $n это и есть описанный неупорядоченный список. Может можно сделать чтоб ключи элементов в $n шли от 0 и по порядку?
Выручит ответ на любой из вопросов, а оба - совсем здорово. Надеюсь на помощь, жду, заранее спасибо!
Спустя 2 минуты, 2 секунды (25.10.2011 - 19:38) Winston написал(а):
Цитата (Игорь_Vasinsky @ 25.10.2011 - 19:34) |
на блюдечке с голубой коёмочкой |
Мне нравиться писать код, таким образом больше узнаешь и запоминаешь как решается та или иная задача, если автор копипастер, то он сделает свое дело, а если нет то разберет пример и поймет
Спустя 1 минута, 2 секунды (25.10.2011 - 19:39) Winston написал(а):
Demjan
Я же тебе написал код? Сам не можешь теперь свой подправить? :blink:
Я же тебе написал код? Сам не можешь теперь свой подправить? :blink:
$n = array_values(array_diff ($k, $i));
Спустя 7 минут, 22 секунды (25.10.2011 - 19:47) Serdg написал(а):
функция sort() как-раз заменяет все ключи в массиве на от 0 и так далее по порядку
Спустя 34 секунды (25.10.2011 - 19:47) Игорь_Vasinsky написал(а):
с 0 и по порядку
или так
$arr = array($val1, val3, ....)
или так
$arr = array();
$arr[] = $val1;
$arr[] = $val7;
Спустя 43 минуты, 14 секунд (25.10.2011 - 20:30) Demjan написал(а):
Ёс-ес-а-бэ-хэ-эс-эс! Супер. Такое в поисковике врят-ли найдёшь, а здесь на форуме я знаю что помощь оперативно и сколько надо. Всем-всем спасибо!
Winston, строчку
$n = array_values(array_diff ($k, $i));
в одну строку у меня смелости-бы не хватило написать , я её на две расписал сначала.
sort($n); тоже результат дала какой нужен,
а вот объявление массива $n = array() при заполнениии этого массива с помощью array_diff происходит всё-равно не по порядку, и с array(key=>value) как работать что-то сходу тоже не вкурил. Но всё работает и даже мона двумя способами . Через поисковик такого не найти если не знаешь как правильно сформулировать запрос. Друзья, товарищи, господа, спасибо! Я, кста тоже учусь во время написания кода, под нужную задачу - сразу видно результат, несколько вариантов попробуешь. Поисковик часто - это куча совсем не того чтива. Мдя. Пока!
Winston, строчку
$n = array_values(array_diff ($k, $i));
в одну строку у меня смелости-бы не хватило написать , я её на две расписал сначала.
sort($n); тоже результат дала какой нужен,
а вот объявление массива $n = array() при заполнениии этого массива с помощью array_diff происходит всё-равно не по порядку, и с array(key=>value) как работать что-то сходу тоже не вкурил. Но всё работает и даже мона двумя способами . Через поисковик такого не найти если не знаешь как правильно сформулировать запрос. Друзья, товарищи, господа, спасибо! Я, кста тоже учусь во время написания кода, под нужную задачу - сразу видно результат, несколько вариантов попробуешь. Поисковик часто - это куча совсем не того чтива. Мдя. Пока!
Спустя 2 минуты, 16 секунд (25.10.2011 - 20:33) Игорь_Vasinsky написал(а):
ТЫ же путаешься в названиях, вот я и написал:
array(ключ=>значение)
array(ключ=>значение)
Спустя 1 минута, 46 секунд (25.10.2011 - 20:34) Demjan написал(а):
до встречи точнее
Спустя 5 минут, 36 секунд (25.10.2011 - 20:40) Demjan написал(а):
Цитата (Игорь_Vasinsky @ 25.10.2011 - 17:33) |
ТЫ же путаешься в названиях, вот я и написал: array(ключ=>значение) |
Мм, ну это наверно нужно специально цикл делать, вроде
for(i-=1, isset(), i++){array(i=>...
блин, запутался, не понимаю как сделать. Но спасибо всё равно ОГРОМНОЕ, винстон ловкий вариант отписал как раз под мой код, как знал.
Спустя 7 минут, 29 секунд (25.10.2011 - 20:47) Winston написал(а):
И вообще, что за хрень ?
Особенно с isset :blink:
Если хочешь убрать пустые элементы, то напиши
А потом смело работай и обрабатывай
for($n=0; isset($n_SERVER[$n]); $n++)
Особенно с isset :blink:
Если хочешь убрать пустые элементы, то напиши
$n = array_values(array_diff ($k, $i, array('')));
А потом смело работай и обрабатывай
for($n=0; $i < count($n_SERVER); $n++)
Спустя 58 минут, 23 секунды (25.10.2011 - 21:46) Demjan написал(а):
конструкция ценная конечно, но в массиве который я получаю при сравнении двух массивов в $N заносятся только те, которые отсутствуют во втором, причём с ключами первого, поэтому нужно их упорядочивать и делать нумерацию от 0, а то обработать проблематично. сейчас всё готово, слава богам и умельцам
Спустя 8 минут, 23 секунды (25.10.2011 - 21:54) quickxyan написал(а):
ну еще можно было бы просто отсоритровать и вывести через foreach()