2015-04-25 6 views
-1

Я создал функцию, которая содержит файл include, Могу ли я сравнить эту функцию с другими функциями?Сравнить функцию с другой функцией

например.

в A.php

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

в b.php

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

в 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";} 

?> 

Я знаю, что есть простой способ сделать свое дело, но это просто пример, , и я хочу использовать этот способ для выполнения моего сложного алгоритма.

С уважением.

Нур Haryadi

+2

Ваши функции должны что-то вернуть. Затем вы можете сравнить то, что они возвращают. – Barmar

+0

Посмотрите этот вопрос http://stackoverflow.com/questions/7905841/get-source-code-of-user-defined-class-and-functions –

ответ

0

Думайте так: когда две функции равны? Когда их результаты с одинаковыми параметрами возвращают одинаковые значения. Это означает, что ваши функции должны что-то вернуть.

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' и' b.php' не отгоняют ничего, поэтому в выходном буфере нет ничего. Они просто задают переменную. – Barmar

+0

Спасибо за ваш ответ Юстинас, но как насчет того, что у меня есть более двух функций? например, c(), d(), e(), ... и т. д., мой случай, если есть много одинаковых слов, он напечатает одно слово, но я использую свой источник как это. Большое спасибо и с наилучшими пожеланиями ... –

+0

Barmar: да, это правда, мое плохое, я эхо что-то ini a.php и b.php –

1

Вы должны поместить return заявления в функциях.

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

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

Затем вы можете использовать

if (a() == b()) 

, чтобы увидеть, если они возвратили то же самое.

+0

У меня есть использование return, но оно не может превышать его выражение if. но, я пробую это снова. Спасибо, господин Бармар за вашу помощь, привет ... –

Смежные вопросы