in array. не работает.

Discussion in 'PHP' started by JaxMackey, 30 Nov 2014.

  1. JaxMackey

    JaxMackey New Member

    Joined:
    10 Oct 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    По идеи каждый элемент массива $tok[1] должен сравниваться со всеми элементами массива $txt_file. если такого элемента нет то он записывается в файл $fp. Что не правильно. Запись в файл есть, но только одинаковые значения все равно пишет, почему? 614 504 229 если не сложно стучите.

    Code:
    $fp=fopen("idnumber.txt","a");
    preg_match_all( '/<a href=(.*)><img src="https:\/\//', $a , $tok, PREG_PATTERN_ORDER );
    foreach ($tok[1] as $value) {
    $txt_file = file("idnumber.txt");
    if (in_array($value, $txt_file)) {
        echo "1";
    }
    else{
    fwrite($fp, "\r\n" . $value);
    }
    }
    
     
  2. SpRyt

    SpRyt Member

    Joined:
    18 Oct 2010
    Messages:
    45
    Likes Received:
    5
    Reputations:
    5
    Code:
    $fp=fopen("idnumber.txt","a");
    preg_match_all( '/<a href=(.*)><img src="https:\/\//', $a , $tok, PREG_PATTERN_ORDER );
    $txt_file = file("idnumber.txt"); // Нужно открывать файл до цикла.
    // Сдесь можно считать файл в массив и тогда уже работать с массивом.
    // Можно будет результат слаживать в массив, а потом этот массив записывать в файл, => 
    // fwrite() будет вызыватся один раз после выполнения необходимых операций.
    foreach ($tok[1] as $value)
    if (in_array($value, $txt_file)) {
        echo "1";
    }
    else{
        fwrite($fp, "\r\n" . $value);
    }
    
     
    1 person likes this.
  3. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    После file() строки в массив попадают с переносами (\r\n), а в in_array() ты проверяешь строки без переносов.
     
  4. JaxMackey

    JaxMackey New Member

    Joined:
    10 Oct 2012
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Спасибо ребята! Разобрался)
     
    #4 JaxMackey, 2 Dec 2014
    Last edited: 2 Dec 2014