Задать вопрос
@Shimpanze

Простой пример «замены» ключа массива через ArrayIterator?

В документации по «ArrayIterator» сказано:

66aa047d6d59a920031588.jpeg

Приведите, пожалуйста, простой пример, как, именно «заменить» ключ (числовой на строковый) в массиве.
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@maksam07
<?php
$array = [10, 20, 30, 40, 50];
$arrayIterator = new ArrayIterator($array);

foreach ($arrayIterator as $key => $value) {
    // Преобразование числового ключа в строку и добавление префикса
    $newKey = 'key_' . $key;
    
    // Удаление старого ключа
    $arrayIterator->offsetUnset($key);
    
    // Установка нового ключа с тем же значением
    $arrayIterator->offsetSet($newKey, $value);
}

// Преобразование итератора обратно в массив
$newArray = iterator_to_array($arrayIterator);

// Вывод нового массива
print_r($newArray);
?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Vitsliputsli
Приведите, пожалуйста, простой пример, как, именно «заменить» ключ (числовой на строковый) в массиве.

Если не вникая, на кой это нужно, то так:
unset($array[1]);
$array['first']=1;


Для массивов есть итератор foreach и не только, зачем вам ArrayIterator?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы