Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用函数(PHP)_Php - Fatal编程技术网

调用函数(PHP)

调用函数(PHP),php,Php,我目前正在编写一个密钥密码函数,以便稍后通过单元测试进行测试。我对PHP非常陌生,我很难从同一个类调用函数。代码如下: <?php class Code{ public function keyCipher($code){ $alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $alphArr = str_split($alphabet); $codeArr = str_split($code); $cipher = arra

我目前正在编写一个密钥密码函数,以便稍后通过单元测试进行测试。我对PHP非常陌生,我很难从同一个类调用函数。代码如下:

<?php
class Code{

public function keyCipher($code){
    $alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $alphArr = str_split($alphabet);
    $codeArr = str_split($code);
    $cipher = array();
    $counter = 0;
    foreach($codeArr as &$char1){
        foreach($alphArr as &$char2){
            if($char1 == $char2){
                if(!in_array($char1, $cipher)){
                    $cipher[$counter] = $char1;

                    $counter++;
                }
            }
        }

    }
    foreach($alphArr as &$char1){
        if(!in_array($char1, $cipher)){
            $cipher[$counter] = $char1;

            $counter++;
        }
    }

    return implode($cipher);

}

function cipherSolution($keyword, $code){
    $this -> keyCipher($keyword);

    return $cipher;
}
}
?>

我认为它与->操作符有关,但我不确定它是如何工作的


Wkr

如果要从keyCipher()返回值,请尝试:


是否要从调用
keychipher()
返回值?目前,您正在丢弃它,并尝试返回
$cipher
的值,但您也没有正确地执行此操作。另外,您打算对
cipherSolution()
中当前未使用的
$code
参数做什么?代码过去较长,但是我发布了一个简化版本,因为我想尽可能地简化它,以试图理解为什么代码不起作用。我也尝试过“$cipher->keychipher($keyword)”,但也没有成功。它是一个discryption函数,其中$code将作为输入。
$cipher()
不在
cipherSolution()
的范围内,它仅在
keyCipher()
中可用。看看我的答案——这几乎肯定是你想要的。我得到了“不在对象上下文中使用$this”
function cipherSolution($keyword) {
    return $this->keyCipher($keyword);
}