Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Pobieranie z pliku dwóch wartości
playaz44
post 19.08.2013, 14:10:59
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 19.08.2013

Ostrzeżenie: (0%)
-----


Witam, z góry zaznaczam iż przeszukiwałem wiedzę wujka google kilka dni zanim tu napisałem ale nie znalazłem interesującej mnie odpowiedzi.
Mianowicie mam plik.txt a jego zawartość wygląda tak:

Cytat
qwerty 12345
ytrewq 54321


i tak około 90 linii, w każdej linii nicki i numery (nazwijmy te litery "nickami", a numery to wiadomo smile.gif) są inne i nigdy się nie powtarzają.

Potrzebuję pobrać do zmiennych nick i numer, z pomocą pewnej osoby powstał taki kod:
$numergg to numer który napisał do bota


  1.  
  2. $plik = file('kontakty.txt');
  3. $_all_users = array();
  4. foreach($plik as $zmienna);
  5. {
  6. $zmienna = explode(' ', $zmienna);
  7. $_all_users[$nickplik[0]][$numerplik[1]];
  8. }
  9. if(isset($_all_users[$numerplik]))
  10. {
  11. $users = $_all_users[$nickplik];
  12. }
  13. else
  14. {
  15. $users = $numergg;
  16. }


Niestety ten kod nie działa ponieważ file() dokleja do końca każdej linii "\\r" i "\\n", próbowałem się tego pozbyć stosując chop() ale wtedy otrzymuję

Cytat
<br /> <b>Warning</b>: Invalid argument supplied for foreach() in <b>/playaz44/bot.php</b> on line <b>96</b><br /> <br />


linia 96 to foreach z powyższego kodu.

Po dodaniu

  1. ini_set('display_errors','1');


wyskakuje
Cytat
<br /> <b>Notice</b>: Array to string conversion in <b>/playaz44/bot.php</b> on line <b>94</b><br /> <br /> <b>Notice</b>: Undefined variable: nickplik in <b>/playaz44/bot.php</b> on line <b>99</b><br /> <br /> <b>Notice</b>: Undefined variable: numerplik in <b>/playaz44/bot.php</b> on line <b>99</b><br /> <br /> <b>Notice</b>: Undefined index: in <b>/playaz44/bot.php</b> on line <b>99</b><br /> <br /> <b>Notice</b>: Undefined variable: numerplik in <b>/playaz44/bot.php</b> on line <b>101</b><br /> <br />


Mam takie pytanie czy ten kod wyżej jest w ogóle poprawnie napisany? Jeżeli tak to jak pozbyć się "\\r" i "\\n" na końcu kazdej linii, jeżeli nie to jakich funkcji muszę użyć żeby wydobyć potrzebny nick?


Dobrym tłumaczem nie jestem daltego chyba będzie prościej jak napisze w pseudo-kodzie co dokładnie próbuję uzyskać

Cytat
jeżeli $numer_ktory_napisał == $numerowi_z_pliku
to zamień $numer_ktory_napisał na $nick_z_pliku_txt


Ten post edytował playaz44 19.08.2013, 14:13:04
Go to the top of the page
+Quote Post
nospor
post 19.08.2013, 14:13:39
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
dokleja do końca każdej linii "\\r" i "\\n",

A wystarczy zajrzec do manuala
http://pl1.php.net/file()
i doczytac co dodac, by nie dodawal \r i \n..... no ale po co, szybciej jest na forum leciec.

ps: te chop to sie robi juz w foreach na elemencie a nie przed na tablicy


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 15:09