繁体   English   中英

在PHP类的另一个函数中调用已声明的变量

[英]Call a declared variable inside another function in a PHP Class

对于正在执行的Caesar Cipher任务,我有以下几点。

class Caesar
{
    protected $secretMessage = 'calvin';
    protected $splitUpMessage;
    protected $splitUpText;
    protected $alphabet=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
    private $key = 5;
    protected $encryptedText;

    public function encrypt()
    {
        $alphabet = $this->alphabet;
        $secretMessage = $this->secretMessage;
        $splitUpMessage = $this->splitUpMessage;
        $key = $this->key;

        $splitUpMessage = str_split($secretMessage);
        $flip = array_flip($alphabet);
        $messageCount = strlen($secretMessage);

        foreach ($splitUpMessage as $singleChar) {
            $encryptedText = $alphabet[($flip[$singleChar]+$key)%26];
            print_r($encryptedText);
        }

        echo PHP_EOL;
    }

    public function decrypt()
    {
        $alphabet = $this->alphabet;
        $encryptedText = $this->encryptedText;
        $splitUpText =  $this->splitUpText;
        $key = $this->key;

        $splitUpText = str_split($encryptedText);
        $keyFlip = array_flip($alphabet);
        $charCount = strlen($encryptedText);
    }
}

$encrypt = new Caesar();
// $encrypt->encrypt();
$encrypt->decrypt();

因此,基本上我想做的就是能够在我的decrypt函数中调用$encryptedText 我不确定该怎么做。 在全球范围内? PHP noob在这里。

感谢您的帮助/咨询。

将其存储回该对象:

public function encrypt() {
    ... blah blah blah
    $this->encryptedtext = $temporary_working_local_copy;
}

在两个函数中,用$ this-> encryptedText替换所有$ encryptedText。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM