Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Массивы
Форумы портала PHP.SU » » Вопросы новичков » Массивы

Страниц (2): [1] 2 »
 

1. Ameon - 28 Мая, 2013 - 20:19:44 - перейти к сообщению
Как изменить нумерацию индексов уже созданного массива?
Чтобы массив начинался не с 0 а с единицы.
2. DelphinPRO - 28 Мая, 2013 - 21:11:38 - перейти к сообщению
возникает резонный вопрос - а зачем переиндексировать уже готовый массив?
3. Ameon - 28 Мая, 2013 - 21:37:10 - перейти к сообщению
Нужно получить ключи которые начинаются не с 0 а с 1 Улыбка
4. DelphinPRO - 28 Мая, 2013 - 21:46:30 - перейти к сообщению
Ameon, не поверишь, но я понял это с первого раза. Мой вопрос в силе: нафига?
5. Ameon - 28 Мая, 2013 - 21:56:24 - перейти к сообщению
Верю) Значит я не понял твоего вопроса.
Я создаю ссылку с id. Где id является ключом массива. И мне нужно чтобы id начинались c 1.
Да и вообще интересно как это сделать))
6. grafillo - 28 Мая, 2013 - 21:57:03 - перейти к сообщению
человек цикл научился только с единицы начинать х)
7. Ameon - 28 Мая, 2013 - 22:04:54 - перейти к сообщению
grafillo пишет:
человек цикл научился только с единицы начинать х)

Постёбить интересней наверно, чем помочь. Так и не получил ответа (( Хм
8. grafillo - 28 Мая, 2013 - 22:10:59 - перейти к сообщению
сделай ассоциативный массив с названием id1 -> вася, id2 ->петя
9. EuGen - 28 Мая, 2013 - 22:15:32 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $rgData = array('foo','bar','baz');//keys are: 0,1,2
  2. $rgData = array_combine(array_merge(array_slice(array_keys($rgData), 1), array(count($rgData))), array_values($rgData));//keys are shifted to 1 element left
  3. //var_dump($rgData);

?
hint (Отобразить)
10. Ameon - 28 Мая, 2013 - 22:17:04 - перейти к сообщению
(Добавление)
EuGen пишет:
PHP:
скопировать код в буфер обмена
  1. $rgData = array('foo','bar','baz');//keys are: 0,1,2
  2. $rgData = array_combine(array_merge(array_slice(array_keys($rgData), 1), array(count($rgData))), array_values($rgData));//keys are shifted to 1 element left
  3. //var_dump($rgData);

?
hint (Отобразить)


Спасибо! Вот ответ супер), то что надо! Подмигивание
11. EuGen - 28 Мая, 2013 - 22:30:27 - перейти к сообщению
Это уже пройдено(см. цитату в конце). Разница лишь в том,что Прохожий === Старожил в данном случае.
12. DelphinPRO - 28 Мая, 2013 - 22:31:01 - перейти к сообщению
Ameon пишет:
Спасибо! Вот ответ супер), то что надо!

ну да.

имеем на входе
$id = 1;

нужно вывести первый элемент

два варианта решения



и

PHP:
скопировать код в буфер обмена
  1. $id = 1;
  2. $rgData = array_combine(array_merge(array_slice(array_keys($rgData), 1), array(count($rgData))), array_values($rgData));
  3. echo $rgData[$id];


Если ваш интерес чисто академический, то ответ EuGen то что вам нужно. На практике лучше использовать первый вариант решения
(Добавление)
EuGen пишет:
Это уже пройдено(см. цитату в конце).

Тоже вспомнил эту байку, увидев ваш ответ Улыбка
13. grafillo - 28 Мая, 2013 - 22:46:09 - перейти к сообщению
сделай ассоциативный массив с названием id1 -> вася, id2 ->петя
14. armancho7777777 - 28 Мая, 2013 - 23:02:11 - перейти к сообщению
EuGen пишет:
Это уже пройдено

+1
Всё не мог тему эту найти ))
15. Ameon - 28 Мая, 2013 - 23:02:58 - перейти к сообщению
DelphinPRO)) Спасибо)) Вообще все интересно!
Чем больше вариантов, тем лучше))
Академический интерес + практический интерес = суперпуперинтерес Радость

 

Powered by ExBB FM 1.0 RC1