probleme mit array_diff

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • goTAN
    antwortet
    kann es vielleicht daran liegen das functions.inc.php in den arrays öfter vorkommt?

    Einen Kommentar schreiben:


  • goTAN
    antwortet
    auch wenns mir keiner glaubt.... habe $allscripte und $allincludes getauscht und es ist das allerselbe...

    der wert ist in alle 3 arrays enthalten ....

    Einen Kommentar schreiben:


  • reallife
    antwortet
    jetzt will ich aber alle scripte die nicht in $allincludes sind aber in $allscripte.

    $bla= array_diff($allescripte,$allincludes);
    Ich zitiere mal das Manual:
    Beschreibung
    array array_diff ( array array1, array array2 [, array ...] )

    array_diff() gibt ein Array mit allen Werten von array1, welche in keinem der anderen Argumente enthalten sind, zurück. Beachten Sie, dass Schlüssel erhalten bleiben.
    Beispiel 1. array_diff()
    PHP-Code:
    $array1 = array ("a" => "grün""rot""blau""rot");
    $array2 = array ("b" => "grün""gelb""rot");
    $result array_diff ($array1$array2); 
    Tipp: vertausch mal deine Parameter in array_diff.

    Einen Kommentar schreiben:


  • goTAN
    antwortet
    ok wird jetz ein wenig gross:
    PHP-Code:
    if((isset($tmp["extension"]))&&($tmp["extension"]=="php"))
         {
                 
                 
    $allescriptea[]=$allescripte//umwandlung in ein array     
             
         
    }
     
     
    //sucht die includierten raus und speichert es in ein array
     
    preg_match_all('#include\s*?\(\s*?(\'|")(.*?)\1\s*?\)#'$einaller$treffervonwas); 
     foreach(
    $treffervonwas[sizeof($treffervonwas)-1] as $var)
        
        { 
            global 
    $explodiertfinal;
            
    $explodiert=explode("/"$var );
            
    $allincludes[$path] = $explodiert[sizeof($explodiert)-1]; // hier sind alle includierten scripte
            
    foreach ($allincludes as $bing)
            {
                
    $beb=strlen($bing);
                echo 
    "||".$bing."allincludes"."<br>".$beb;
            
    //var_dump($allincludes);
            
    }
        }
    }

    $not_inc_but_on_space=array_diff($allescriptea$allincludes);

    foreach(
    $allescriptea as $fu)
    {
        
    $bib=strlen($fu);
        echo 
    "<br>".$fu."<--allescriptea".$bib;
    }
     
    foreach (
    $not_inc_but_on_space as $blaa)
    {
        
    $bab=strlen($blaa);
        echo 
    "<br>".$blaa."<--not includes but in space".$bab;

    die ausgabe is wirklich lang .... aber es ist DEFINITIV functions.inc.php in allen arrays vorhanden. strlen gibt 17 zurück.

    Einen Kommentar schreiben:


  • reallife
    antwortet
    Kann ich mir nicht vorstellen. Poste doch mal dein Quellcode..

    Einen Kommentar schreiben:


  • goTAN
    antwortet
    ich bin schon die werte mit strlen() durchgegangen .. .. sind von function.in.php in allen arrays gleich.

    Einen Kommentar schreiben:


  • reallife
    antwortet
    var_dump auf deine Arrays anwenden und die Unterschiede per Hand mal durchgehen. Irgendwo hast du einen Fehler gemacht - array_diff arbeitet richtig.

    Einen Kommentar schreiben:


  • goTAN
    hat ein Thema erstellt probleme mit array_diff.

    probleme mit array_diff

    hallo,
    folgendes problem:

    ich hab 2 arrays:

    1. array: $allincludes
    2. array: $allscripte

    in diesen arrays sind namen von php scripten.

    es geht erstma um folgenden wert: 'functions.inc.php'

    dieser wert befindet sich in beiden arrays.

    jetzt will ich aber alle scripte die nicht in $allincludes sind aber in $allscripte.

    $bla= array_diff($allescripte,$allincludes);

    nun ist aber der wert 'functions.inc.php' in $bla.

    wie kann das sein???

    danke schonmal
    mfg simon
Lädt...
X