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?
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?
No.
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)
Io pensavo a una cosa del tipo :
pero' magari c'e' un'altra soluzionecodice:$arrayx=explode(' ',$x); $arrayy=explode(' ',$y); if $arrayx[0]==$arrayy[2] [...]
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)
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
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)