2015-04-25 1 views
-1

J'ai créé une fonction qui contient un fichier include, Puis-je comparer cette fonction avec une autre fonction?Comparer une fonction avec une autre fonction

par exemple.

dans a.php

<?php 
$a = "this is file"; 
?> 

dans b.php

<?php 
$b = "this is file"; 
?> 

dans function.php

<?php 
function a(){ 
include("a.php"); 
} 

function b(){ 
include ("b.php"); 
} 

/* 
my question is can I compare between function a() and function b() ? 
like this 
*/ 

if(a()==b()){ 
echo "it's same words"; 
} 
else 
{echo "not same words";} 

?> 

Je sais qu'il ya moyen simple de faire mon cas, mais il est juste un exemple, et je veux utiliser de cette façon pour faire mon algorithme compliqué.

Cordialement.

Nur Haryadi

+2

Vos fonctions doivent retourner quelque chose. Ensuite, vous pouvez comparer ce qu'ils reviennent. – Barmar

+0

Voir cette question http://stackoverflow.com/questions/7905841/get-source-code-of-user-defined-class-and-functions –

Répondre

0

Pensez ainsi: Quand deux fonctions sont-elles égales? Lorsque leurs résultats avec les mêmes paramètres renvoie les mêmes valeurs. Cela signifie que vos fonctions doivent retourner quelque chose.

function a() { 
    ob_start(); 
    include("a.php"); 

    return ob_get_clean(); 
} 


function b() { 
    ob_start(); 
    include("b.php"); 

    return ob_get_clean(); 
} 

if (strcmp(a(), b()) == 0) { 
    echo "it's same words"; 
} 
+0

'a.php' et' b.php' ne font rien, donc il n'y a rien dans le buffer de sortie. Ils ont juste défini une variable. – Barmar

+0

Merci pour votre réponse Justinas, mais qu'en est-il de plus de 2 fonctions? comme c(), d(), e(), etc etc?, mon cas est s'il y a beaucoup de même mot il imprimera un mot, mais j'utilise ma Source comme ceci. Beaucoup de mercis et meilleures salutations ... –

+0

Barmar: oui, c'est vrai, mon mauvais est, je fais écho quelque chose ini a.php et b.php –

1

Vous devez mettre return déclarations dans les fonctions.

function a() { 
    include("a.php"); 
    return $a; 
} 

function b() { 
    include("b.php"); 
    return $b; 
} 

Ensuite, vous pouvez utiliser

if (a() == b()) 

pour voir s'ils sont revenus la même chose.

+0

J'ai l'habitude de retourner, mais il ne peut pas altough c'est dans l'instruction if. mais, je l'essaye encore. Merci M. Barmar pour votre aide, salutations ... –