• Как получить доступ к символам элемента массива?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    У вас элементы основного массива тоже являются массивами. Вот вам и выдаёт ошибку, что в массиве нет элемента с индексом 4. А при замену фигурных скобок на квадратные - это пока только предупреждение.
    $x = [0 => ['#ff069f'], 1 => ['#FF5500'], 2 => ['#009900']];
    echo $x[1][0][4];
    // 5

    И это обращение не к символу, а к байту, что не всегда одно и то же.
    $x = "Привет!";
    echo $x[0];
    // �
    Ответ написан
    Комментировать
  • Как получить доступ к символам элемента массива?

    @dzhebrak
    $x = [0 => ['#ff069f'], 1 => ['#FF5500'], 2 => ['#009900']];
    print($x[1][0][4]);

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

    И учитывайте важное уточнение от Rsa97 насчет байтов и символов. В случае с цветами проблемы не будет, но для кириллицы возникнет. Универсальным вариантом для разбития строки на массив символов будет использование функции mb_str_split
    $x = [0 => ['#ff069f'], 1 => ['#FF5500'], 2 => ['#009900']];
    print_r(mb_str_split($x[1][0])[4]);
    Ответ написан
    4 комментария