Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проверка функций в цикле
 
 автор: freeing   (12.02.2010 в 10:40)   письмо автору
 
 

Помогите с обратным вызовом,

У меня в классе около десяти функций,
каждая из которых вызывается последовательно,

в случае если одна из функций возвращает что-то, все обрывается и функция Check() возвращает содержимое дочерней функции..

подскажите как упростить такой код? (не знаю как создать проверку в цикле)

пример:

<?php

/..

function 
Check()
{
    
$A $this->A();
    
$B $this->B();
    
$C $this->C();
    
$D $this->D();
    
$E $this->E();

    if(!empty(
$A))
    {
        return 
$A;
    }
    else if(!empty(
$B))
    {
        return 
$B;
    }
    else if(!empty(
$C))
    {
        return 
$C;
}
    else if(!empty(
$D))
    {
        return 
$D;
}
    else if(!empty(
$E))
    {
        return 
$E;
}

//..
// и т.д.
//..
    
}

function 
A()
{
    return 
‘A’;
    }

function 
B()
{
    return 
‘B’;
    }

//..
// и т.д.
//..
?>


Спасибо!

  Ответить  
 
 автор: Саня   (12.02.2010 в 11:00)   письмо автору
 
   для: freeing   (12.02.2010 в 10:40)
 

<?
function Check() {
  
$function_list = array("A""B""C""D""E"); // названия функций
  
foreach ( $function_list as $function ) {
    
$result $function();
    if ( !empty(
$result) ) {
      return 
$result;
    }
  }
}

  Ответить  
 
 автор: freeing   (12.02.2010 в 11:09)   письмо автору
 
   для: Саня   (12.02.2010 в 11:00)
 

Спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования