Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]długość elementu tablicy
Forum PHP.pl > Forum > Przedszkole
mateuszpi
Witam
mam sobie tablice array(gdsafgdfsgfd, sdafsdgsfdgfdsd,sda sdfdsfas, 65456464)

potrzebuje dowiedzieć się ile znaków ma najdłuższy element, a jeśli jeszcze powiecie ja tą liczbe przerobić na piksele to będę juz bardzo szczęśliwy.
wookieb
Kod
$elem=false;
foreach($tab as $el)
{
if(strlen($el)>strlen($elem)) $elem=$el;
}

print_r($elem);


Przerobić na piksele?questionmark.gif Może opiszesz dokładniej o co chodzi.
luck
Tworzysz sobie zmienną $max. Przechodzisz po tablicy za pomocą np. foreach() i dla każdego elementu pobierasz strlen(). Jeśli jest większa od $max to do $max przypisujesz aktualnie odczytaną długość. Po przejściu przez całą tablicę w $max będziesz miał długość najdłuższego elementu. Znacznie łatwiej i wydajniej byłoby to zrobić w oparciu o SQL. Z tymi pikselami niestety nie pomoge, bo nie czaje o co chodzi winksmiley.jpg
Edit: @wookieweb - chyba obaj mamy dziś dużo wolnego czasu smile.gif
elemek
Autorowi zapewne chodzi o dobranie szerokości diva tak aby pomieścił najdłuższą linijkę, ja osobiście nie znam na to uniwersalnego rozwiązania i z tego co czytałem takie nie istnieje ale może o czymś nie wiem smile.gif
wookieb
@ luck oj tak tongue.gif idziemy na piwo? biggrin.gif

Jeżeli tak to niech poprostu ucina słowa do odpowiedniej długości. Poza tym każda czcionka ma rózna długość i liczenie szerokości słowa jest bezsensowne.
mateuszpi
co do pikseli to "elemek" miał racje.

dzięki za porade to działa jednak i tak nic z moich planów nie wyszło. chciałem aby tekst dzielił się na fragmenty bo nie mieściłsię w tabeli generowanej przez fpdf. rozwiązałem to jednak metodą mulicell
ale teraz mam inny problem z tym podziałem. polecenie:
  1. <?php
  2. $this->MultiCell($w[0],6,$row[0],'LRBT','L',$fill);
  3. $this->Cell($w[1],6,$row[1],'LRBT','L',$fill);
  4. $this->Cell($w[2],6,$row[2],'LRBT','L',$fill);
  5. $this->Cell($w[3],6,$row[3],'LRBT','L',$fill);
  6. $this->Cell($w[4],6,$row[4],'LRBT','L',$fill);
  7. ?>

niby rysuje tabelki. ale nie w jednym rzędzie a osobno. dopuki było tylko polecenie cell wszystko było ok a nie było dzielenia. teraz dzieli ale nie rysuje łądnie tabelki. w obrazku przykaład jak to wygląda z mulicell. Możecie cos poradzić questionmark.gif albo jak dzielić ten pierwszy wpis albo co zrobić aby te tabelki się okładały równo.

http://images23.fotosik.pl/267/5c28b76bf06a6b76med.jpg
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.