Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Confronto tra strignhe

  1. #1

    Confronto tra strignhe

    Avendo due stringhe tipo
    $x ="a con b";
    $y="b con a",
    c'è un blocco di codice per fare in modo che php ritorni true all'espressione $x==$y?

  2. #2
    No.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Io pensavo a una cosa del tipo :
    codice:
    $arrayx=explode(' ',$x);
    $arrayy=explode(' ',$y);
    if $arrayx[0]==$arrayy[2] 
    [...]
    pero' magari c'e' un'altra soluzione

  4. #4
    A precisa domanda ho fornito precisa risposta.
    Hai chiesto se fosse possibile utilizzare l'operatore di confronto $x == $y e la risposta è no!
    Ovviamente è possibile scrivere una funzione ad hoc che effettua il confronto utilizzando explode() oppure le espressioni regolari che restituisca true/false a seconda dei casi.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova questo.
    Codice PHP:
    <?php
    function match($var1,$var2) {  
      
    $arr1 str_split($var1);  
      
    $arr2 str_split($var2);  
      
    sort($arr1);  
      
    sort($arr2);  
      
    $tmp1 implode('',$arr1);  
      
    $tmp2 implode('',$arr2);
      if (
    $tmp1 == $tmp2) {    
        return 
    true;  
      } else {    
        return 
    false;  
      }
    }
    $a "a con c";
    $b "c con a";
    print 
    match($a,$b)?"OK":"KO";
    ?>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Codice PHP:
    <?php
    function compare($x$y) {
        
    preg_match_all("/(.+?) con (.+?) (.+?) con (.+?)/"$x." ".$y$m);
        return (
    $m[1][0] == $m[4][0] && $m[2][0] == $m[3][0]) ? true false;
    }

    $x "a con b";
    $y "b con a";

    if (
    compare($x$y)) {
        echo 
    "OK";
    } else {
        echo 
    "KO";
    }
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.