• 31-12-2021, 01:42:01
    #1
    Arkadaşlar merhabalar php de bir filreleme yapmak istiyorum yapabilirmiyiz

    elimde şöyle bir çıktı mevcut bu çıktı $mapduzenleden geliyor

    CPU In Out Uptime Users FPS Players 9.00 2.97 6.12 209 64 437.19 1

    buradaki cpu in out vb. şeyleri tek bir değişkene atayım bunlara karşılık gelen sayılarıda bir değişkene atayabilirmiyiz nasıl yapabiliriz ?
  • 31-12-2021, 01:46:38
    #2
    ardakarakas adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar merhabalar php de bir filreleme yapmak istiyorum yapabilirmiyiz

    elimde şöyle bir çıktı mevcut bu çıktı $mapduzenleden geliyor

    CPU In Out Uptime Users FPS Players 9.00 2.97 6.12 209 64 437.19 1

    buradaki cpu in out vb. şeyleri tek bir değişkene atayım bunlara karşılık gelen sayılarıda bir değişkene atayabilirmiyiz nasıl yapabiliriz ?
    cpu in .... sürekli sabit geliyorsa $sayisaldeger = explode("CPU In Out Uptime Users FPS Players ",$mapduzenle)[1]; şeklinde veriyi bölebilirsiniz.
  • 31-12-2021, 08:18:20
    #3
    BeratYildiz adlı üyeden alıntı: mesajı görüntüle
    cpu in .... sürekli sabit geliyorsa $sayisaldeger = explode("CPU In Out Uptime Users FPS Players ",$mapduzenle)[1]; şeklinde veriyi bölebilirsiniz.
    Hayır sabit değil sürekli değişmekte
  • 31-12-2021, 10:22:25
    #4
    Normalde regexp kullanmak gerekir ancak sizin desen bu kadar basit ise şöyle bir örnek yapabilirsiniz.
    <?php
    $veriler=explode(“ “, $mapduzenle);
    $total = count($veriler)/2;
    for($i=0;$i<$total;$i++){
        echo $veriler[$i] . ‘=‘. $veriler[$i+$total];
        echo ‘<br>’;
    }
    Kodları telefondan yazdım syntax ı kontrol etmenizde fayda var. Tırnak işaretleri bozuk olabilir.
  • 31-12-2021, 18:51:51
    #5
    fatihemre adlı üyeden alıntı: mesajı görüntüle
    Normalde regexp kullanmak gerekir ancak sizin desen bu kadar basit ise şöyle bir örnek yapabilirsiniz.
    <?php
    $veriler=explode(“ “, $mapduzenle);
    $total = count($veriler)/2;
    for($i=0;$i<$total;$i++){
        echo $veriler[$i] . ‘=‘. $veriler[$i+$total];
        echo ‘<br>’;
    }
    Kodları telefondan yazdım syntax ı kontrol etmenizde fayda var. Tırnak işaretleri bozuk olabilir.
    Tekrardan merhaba çıktı şu şekilde
  • 31-12-2021, 20:37:33
    #6
    Öyleyse verileriniz tam olarak verdiğiniz gibi değil. Sizde birden fazla boşluk ya da tab olabilir. Sizin ilk mesajda verdiğinizi benim kodumla uyguladığımız zaman sonuç bu:


    ardakarakas adlı üyeden alıntı: mesajı görüntüle
    Tekrardan merhaba çıktı şu şekilde
  • 31-12-2021, 21:07:49
    #7
    fatihemre adlı üyeden alıntı: mesajı görüntüle
    Öyleyse verileriniz tam olarak verdiğiniz gibi değil. Sizde birden fazla boşluk ya da tab olabilir. Sizin ilk mesajda verdiğinizi benim kodumla uyguladığımız zaman sonuç bu:


    Hm anladım evet dediğim gibi direkt olarak yazıyı yapıştırınca oluyor fakat benim sunucudan gelen bilgi o şekilde değil acab tab ile boşluk olabilirmi bunları nasıl sileriz
  • 31-12-2021, 21:12:02
    #8
    fatihemre adlı üyeden alıntı: mesajı görüntüle
    Öyleyse verileriniz tam olarak verdiğiniz gibi değil. Sizde birden fazla boşluk ya da tab olabilir. Sizin ilk mesajda verdiğinizi benim kodumla uyguladığımız zaman sonuç bu:


  • 31-12-2021, 21:16:17
    #9
    Şunu deneyin bir de:

    <?php
    
    $str = 'CPU In Out    Uptime Users FPS Players      
    9.00 2.97 6.12 209          64 437.19 1';
    $str = str_replace("\n", ' ', $str);
    $str = preg_replace('/[ ]{2,}|[\t]/', ' ', trim($str));
    
    $veriler = explode(' ', $str);
    $total = count($veriler) / 2;
    
    for($i=0;$i<$total;$i++) {
        echo $veriler[$i] . ' = ' . $veriler[$i + $total];
        echo "<br>";    
    }
    ardakarakas adlı üyeden alıntı: mesajı görüntüle