Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Tablica
Forum PHP.pl > Forum > Przedszkole
Frey
Mam pytanie. Mam tablice która zawiera takie elementy np.:

1.txt
10.txt
11.txt
12.txt
2.txt
3.txt
4.txt
5.txt
6.txt
7.txt
8.txt
9.txt

Jak zrobić, żeby "odciąć" 4 znaki od końca tekstu, tzn. chodzi mi o to, żeby odciąć to: .txt czyli rozszerzenie i żeby mi zostały same liczby. Próbowałem z substr tak:
substr($tablica, 0, -4); ale nie wiem jak to wykorzystać przy tablicach array(); Może ktoś pomóc?
JaRoPHP
  1. <?php
  2. $a[] = "1.txt";
  3. $a[] = "10.txt";
  4. $a[] = "11.txt";
  5.  
  6. $b = array_map('fun', $a);
  7. print_r($b);
  8.  
  9. function fun($elem) {
  10. return substr($elem, 0, -4);
  11. }
  12. ?>


Przenoszę na Przedszkole.
czachor
Hm a nie jest szybciej przez foreach?
Moli
Albo tak:)
  1. <?php
  2.  
  3. foreach ( $Tablica as $Value )
  4. {
  5. $Nowatablica[] = substr ( $Value , 0 , -) ;
  6. }
  7.  
  8. var_dump ( $Nowatablica ) ;
  9. ?>
phpion
Moim zdaniem rozwiązanie ~JaRoPHP jest najlepsze, najbardziej "pro" winksmiley.jpg w końcu funkcja array_map() do czegoś służy...
JaRoPHP
Jak już robiona jest optymalizacja, to najlepszym rozwiązaniem wydaje się być:
  1. <?php
  2. $a[] = "1.txt";
  3. $a[] = "10.txt";
  4. $a[] = "11.txt";
  5.  
  6. $newArr = array();
  7. foreach(new ArrayObject($a) as $value) {
  8. $newArr[] = substr($value, 0, -4);
  9. }
  10. print_r($newArr);
  11. ?>
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.