• 21-06-2016, 15:40:43
    #1
    Arkadaşlar merhaba,


    preg_match_all('#<aclass=(.*?)>(.*?)</a>#',$sayfalar[1],$sayfa);

    $sayfasayisi=max($sayfa[2]);


    Ben preg_match kullanarak max sayfa sayısını almak istiyorum. Fakat sürekli en büyük olarak "ileri" kelimesini alıyor. Bunu nasıl düzeltebilirm. Yardımlarınızı bekliyorum.


    [2] => Array
    (
    [0] => 2
    [1] => 3
    [2] => İleri
    [3] => 6
    )
  • 21-06-2016, 15:48:25
    #2
    $sayfasayisi=max($sayfa[3]);
    dener misiniz.
  • 21-06-2016, 21:30:11
    #3
    truser adlı üyeden alıntı: mesajı görüntüle
    $sayfasayisi=max($sayfa[3]);
    dener misiniz.
    Dediğin şekilde zaten denemiştim, 6 cevabını veriyor. Ancak 2 yada 3 sayfa olduğunda bu kod olmuyor.
  • 21-06-2016, 21:31:39
    #4
    intval fonksiyonu ile önce sayıya çevir. yazılar 0 olacaktır. sonrasında max fonksiyonuyla alırsınız
  • 22-06-2016, 14:32:27
    #5
    orcuntuna adlı üyeden alıntı: mesajı görüntüle
    intval fonksiyonu ile önce sayıya çevir. yazılar 0 olacaktır. sonrasında max fonksiyonuyla alırsınız
    Yardımlarınız için teşekkürler, ama olmadı. Öncelikle array şeklinde değişkenleri almam gerekiyor herhalde. daha sonra intval kullanabilirim.
  • 22-06-2016, 15:21:22
    #6
    $Pages = Array(2,3,"İleri",6);
    $PagesFilter = array_filter($Pages,'intval');
    $LastPage = max($PagesFilter);
    
    echo $LastPage;
    Sorununuzu bu şekilde çözebilirsiniz.
  • 23-06-2016, 09:08:26
    #7
    Herkese teşekkürleer. Sorunu çözdüm.
    Öcelikle str_replace ile ileri kelimesini sıfıra dönüştürdüm. Daha sonra max ile en büyük rakamı aldım.
  • 24-06-2016, 00:18:30
    #8
    her zaman için sondaki indis en büyük değer ise $deger = count($diziAdi) ile sondaki dizi numarasını alabilirsiniz ve $sayfa($deger) ilede çözüme ulaşmış olursun.