Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Php array rozwala kodowanie
Forum PHP.pl > Forum > PHP
toaspzoo
Witam,

Mam problem z tablicą, która prezentuje się tak:

  1. $crossword = array(
  2. "questions" =>array("Ma go krowa. Oraz kartka.","Okrągłe","Mały ptak","Trzymasz w nim przybory szkolne","Nie zając, lecz?","?wiosny nie czyni."),
  3. "phrases" =>array("róg","kółko","wróbel","piórnik","królik","jaskółka"),
  4. "code" =>"górnik"
  5. );


print_r() działa prawidłowo, wypisując wszystko pięknie z polskimi ogonkami.

Natomiast, gdy chcę wypisać jedną literę indeksu, pojawia się problem w postaci błędnego kodowania ? ?.

  1. echo $crossword["phrases"][0][1];
// powinno wypluć "ó", a wypluwa "?"

Problemem może być to, że "ó" jest rozdzielane na dwa "?", ale nie chcę ich za każdym razem łączyć...

_________

Problem rozwiązany. Dla potomnych.

Trzeba rozbić string na tablicę
  1. preg_split('//u', $code, 0, PREG_SPLIT_NO_EMPTY);

str_split nie obsługuje utf-8
Pyton_000
Ale już mb_split tak

A Twoja konstrukcja dobierania się do literki działa dopiero w php 5.5 lub 5.6
toaspzoo
@Pyton_000

mb_split także próbowałem, nic z tego.
kreatiff
A tak? Bez wyrażeń reg. i rozbijania na tablicę.
  1. $a = 'róg';
  2. echo mb_substr($a, 1, 1, 'UTF-8');
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.