Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Konwersja tablicy
-flymo-
post
Post #1





Goście







Witam

Mam tablicę pobraną z pliku:
  1. $file = file('memory.txt');
  2.  
  3. (
  4. [0] => d3 ea d3 e9 d3 e8 d3 e7 d3 ea d3 e9 d3 e9 d3 e8
  5. [1] => d3 e7 d3 e7 d0 00 d0 00 d0 00 d0 00 d0 00 d0 00
  6. [2] => d0 00 d0 00 d0 00 d0 00 d0 00 d0 00 d0 00 d1 00
  7. [3] => d1 00 d1 00 d1 00 d1 00 d1 00 d1 00 d1 00 d1 00
  8. [4] => d1 00 d1 00 d1 00 d1 00 d1 00 d1 00 d1 00 d1 00
  9. [5] => d1 00 d1 00 d1 00 d1 00 d1 01 d1 00 d1 08 d1 08
  10. )


Chciałbym ją przekonwertować aby efekt był taki
  1. $tab[0][0] //zawiera d3ea
  2. $tab[0][1] //zawiera d3e9
  3. $tab[0][2] //zawiera d3e8
  4. .
  5. $tab[1][0] //zawiera d3e7
  6. $tab[1][1] //zawiera d3e7


Jak można to zrobić(IMG:style_emoticons/default/questionmark.gif) bardzo proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Bo każda linia jest tablicą złożoną ze znaków zawierającą spacje. Wystarczy je usunąć w jakikolwiek sposób:
  1. $uchwyt = @fopen("memory.txt", "r");
  2. if ($uchwyt) {
  3. while (($bufor = fgets($uchwyt, 4096)) !== false) {
  4. $n = count($bufor);
  5. for ($i=0;$i<$n; $i++)
  6. $bufor = str_replace(' ', '', $bufor);
  7. echo $bufor.'<br />';
  8. }
  9. if (!feof($uchwyt)) {
  10. echo "Błąd: niespodziewany błąd fgets()\n";
  11. }
  12. fclose($uchwyt);
  13. }

Wynik:
Kod
d3ead3e9d3e8d3e7d3ead3e9d3e9d3e8
d3e7d3e7d000d000d000d000d000d000
d000d000d000d000d000d000d000d100
d100d100d100d100d100d100d100d100
d100d100d100d100d100d100d100d100
d100d100d100d100d101d100d108d108

A jeśli chcesz uzyskać np. dwa pierwsze elementy, to trzeba to przekonwertować na tablicę i wyświetlić:
  1. $uchwyt = @fopen("memory.txt", "r");
  2. if ($uchwyt) {
  3. while (($bufor = fgets($uchwyt, 4096)) !== false) {
  4. $bufor = explode(" ", $bufor);
  5. echo $bufor[0].$bufor[1].'<br />';
  6. }
  7. if (!feof($uchwyt)) {
  8. echo "Błąd: niespodziewany błąd fgets()\n";
  9. }
  10. fclose($uchwyt);
  11. }

Wynik:
Kod
d3ea
d3e7
d000
d100
d100
d100

Czyli dwa pierwsze elementy tablicy...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 11:55