如何抑制类函数操作的结果?

时间:2013-11-24 19:02:46

标签: php

在这个示例代码中,我在所有函数中运行通配符搜索。 有可能函数alkali()会给出正确的答案和另一个函数 错误的答案,反之亦然。

一旦得到正确/正确答案,如何在一个函数上抑制失败部分 在另一个功能? 即,如果我已经显示“这是一种碱金属”,我想不要显示“金属未知”。

<?php
class metals
{

    function alkali()
    {
        if (($rowC['description'] == " Alkali Metal")) {
            echo '';
        } else {
            echo 'metal is unknown';
        }

    }

    function alkaline_earth()
    {
        if (($rowC['description'] == " Alkali earth Metal")) {
            echo ' this is an alkali earth metal';
        } else {
            echo 'metal is unknown';
        }
    }
    //end of class    
}

// create an object for class name
$abc  = new metals();
$abcd = new metals();

// call the functions in the class
$abc->alkali();
$abcd->alkaline_earth();

?>

1 个答案:

答案 0 :(得分:0)

实现预期结果的更简短,更优雅的方法是:

<?php

class metals {
    // Consider defining this as a static function if $rowC is not
    // intended to be a member of the class `metals`.
    function isMatch($search) {
        return $rowC['description'] == $search;
    }
}

$abc = new metals();
$searches = array('Alkali Metal', 'Alkali Earth Metal', 'Some Other Metal');

foreach ($searches as $search) {
    if ($abc->isMatch($search)) {
        echo 'Match found: ' . $search;
        break;
    }
}

?>

循环将输出第一个匹配然后退出。