"Eğer" ile PHP Yardım

2 Cevap php

Ben bu dosyaları var:

"id_1_1.php", "id_1_2.php", "id_1_3.php" etc "id_2_1.php", "id_2_2.php", "id_2_3.php" etc

her zaman büyüyecek çünkü dosya sayısı bilinmemektedir ..

tüm dosyalar aynı dizinde ..

Ben eğer bir açıklama yapmak istiyorum:

  1. Onların adı "_1" ile biten yalnızca dosyaları dahil etmek
  2. "ID_1" ile başlayan tüm dosyaları yüklemek için başka bir işlev

Bunu nasıl yapabilirim? Teşekkür ederiz!

. edit1: Ben id_1_2, vb id_1_1 olarak yenilerini katacak ürünleri id_1_ toplanması için başka bir öğe yüzden hiçbir atlama aldıktan sonra hiçbir numaraları atlanır olmayacak ..

2 Cevap

Gevşekçe Svisstack orijinal cevap dayalı (denenmemiş):

function doIncludes($pre='',$post=''){
    for ($i=1;1;$i++)
        if (file_exists($str=$pre.$i.$post.'.php'))
            include($str);
        else
            return;
}

function first_function(){
    doIncludes('id_','_1');
}

function second_function(){
    doIncludes('id_1_');
}

O yok, bir dosyayı bulur birinin bu kadar arttırılmış her dosya üzerinden ayrıştırmak olacaktır. Her Varolan dosyayı yakalamak gerekir bitişik numaralarını varsayarsak. Eğer başka bir sayı ile dosyaları dahil etmek istiyorsanız o ismi 1, sadece uygun şekilde $ arıyormuş değiştirin.

$lookingfor = 1;
$firstnum=1;
while ($firstnum>0) {
$secondnum=1;
  while ($secondnum>0) {
    $tempfilename = "id_".$firstnum."_".$secondnum.".php";
    if file_exists($tempfilename) {
      if (($firstnum==$lookingfor)||($secondnum==$lookingfor)) {include $tempfilename; }
      $secondnum++;
    } else {
    $secondnum=-1;
    }
  }
$firstnum++;
}