• 04-12-2021, 15:25:18
    #1
    Array
    (
    [0] => 1.782,69
    [1] => 0,82
    [2] => 786,35
    [3] => 0,95
    [4] => 5.033
    [5] => 0,95
    [6] => 5.032,61
    [7] => 0,95
    [8] => 786,33
    [9] => 1,16
    [10] => 1.258,15
    )

    Merhabalar,

    Böyle bir veri çekiyorum. Veri çekerken filtreleme yapmam gerekiyor preg match all yada array filtre ile içinde (.) nokta geçen satırları almak istemiyorum. Konu hakkında yardımcı olabilir misiniz?
  • 04-12-2021, 15:40:20
    #2
    mccree adlı üyeden alıntı: mesajı görüntüle
    Array
    (
    [0] => 1.782,69
    [1] => 0,82
    [2] => 786,35
    [3] => 0,95
    [4] => 5.033
    [5] => 0,95
    [6] => 5.032,61
    [7] => 0,95
    [8] => 786,33
    [9] => 1,16
    [10] => 1.258,15
    )

    Merhabalar,

    Böyle bir veri çekiyorum. Veri çekerken filtreleme yapmam gerekiyor preg match all yada array filtre ile içinde (.) nokta geçen satırları almak istemiyorum. Konu hakkında yardımcı olabilir misiniz?
    Foreach ile diziyi dön, dönerken her bir item için str_contains ile arayacğaın karakter neyse onu kontrol et, eğer true dönüyorsa al dönmüyorsa alma
  • 04-12-2021, 15:46:57
    #3
    Geleceği Kodluyoruz
      $array = array("1.111","2,222");
      for ($i=0; $i< count($array); $i++) {
        if(!strstr($array[$i], '.'))
        {
          echo $array[$i]."<br>";
        }
      }
    Buyrun. Diziyi array değişkenine alıp bu for dongusunu kullanabilrsiniz.
  • 04-12-2021, 15:52:11
    #4
    Developer
    <?php
    
    function filter_dot($arr){
        foreach($arr as $arrKey => $arrVal){
            if (strpos($arrVal, ".") !== false) {
                unset($arr[$arrKey]);
            }
        }
        return $arr;
    }
    
    $arr = ['1.782,69','0,82','786,35','0,95','5.033','0,95','5.032,61','0,95','786,33','1,16','1.258,15'];
    
    echo '<pre>';
    var_dump(filter_dot($arr));
    echo '</pre>';
    
    ?>
    php 8 için:
    function filter_dot($arr){
        foreach($arr as $arrKey => $arrVal){
            if (str_contains($arrVal, '.')) {
                unset($arr[$arrKey]);
            }
        }
        return $arr;
    }
  • 04-12-2021, 18:41:22
    #5
    $filter = array_filter($array, function($v){
        return strpos($v, '.') === false;
    }, ARRAY_FILTER_USE_BOTH);
    
    print_r($filter);