Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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 在类和带有数组的函数中使用变量 $n=800; 函数getName($n){ $characters='0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz'; $randomString=''; 对于($i=0;$i“sha512”, “验证”=>true, ); }_Php_Arrays_Class_Variables_Global Variables - Fatal编程技术网

Php 在类和带有数组的函数中使用变量 $n=800; 函数getName($n){ $characters='0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz'; $randomString=''; 对于($i=0;$i“sha512”, “验证”=>true, ); }

Php 在类和带有数组的函数中使用变量 $n=800; 函数getName($n){ $characters='0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz'; $randomString=''; 对于($i=0;$i“sha512”, “验证”=>true, ); },php,arrays,class,variables,global-variables,Php,Arrays,Class,Variables,Global Variables,这是我的PHP代码,如图所示,我希望变量“secretcode”或该变量中的值放在类中的某个位置,该位置是带有数组的函数。在这个数组中,数组的secret元素应该是varible值。我听说过全局变量,但我用它做了很多尝试,每次它都会给我具体的错误,但我不明白为什么事情不起作用。老实说,我还没有使用php classed,所以我不知道它与varibale和normal的用法是否不同。您可以在类中使用它 $n=800; function getName($n) { $characters

这是我的PHP代码,如图所示,我希望变量“secretcode”或该变量中的值放在类中的某个位置,该位置是带有数组的函数。在这个数组中,数组的secret元素应该是varible值。我听说过全局变量,但我用它做了很多尝试,每次它都会给我具体的错误,但我不明白为什么事情不起作用。老实说,我还没有使用php classed,所以我不知道它与varibale和normal的用法是否不同。

您可以在类中使用它

$n=800; 
function getName($n) { 
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
    $randomString = ''; 

    for ($i = 0; $i < $n; $i++) { 
        $index = rand(0, strlen($characters) - 1); 
        $randomString .= $characters[$index]; 
    } 

    return $randomString; 
} 

$secretcode = getName($n);

class Mess {
    protected static $options = array(
        'secret' => '$secretcode',
        'signing_method' => 'sha512',
        'verify' => true,
    );
}
类混乱{
受保护的静态$options=array(
'秘密'=>'',
“signing_method'=>“sha512”,
“验证”=>true,
);
函数构造($number){
!empty(self::$options['secret'])?self:$options['secret']:this->getName($number);
}
函数getName($n){
$characters='0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz';
$randomString='';
对于($i=0;$i<$n;$i++){
$index=rand(0,strlen($characters)-1);
$randomString.=$characters[$index];
} 
返回$randomString;
} 
}

我发现您对全局变量和变量在函数和类中的一般操作范围感到困惑。我可以建议您阅读一下PHP文档吗?您是否尝试过使用“$secretcode”(使用“
)?是的,我尝试过使用“”和此“”,但它不起作用它显示了一个错误,但我不知道在我使用的其他数组中“也没有问题。不幸的是,这个话题已经结束,这意味着我们无法提供答案。请对这两个副本进行读取,因为
'$secretcode'
是一个文本字符串,而
“$secretcode”
$secretcode
相同。我看到了php文档,并在我的代码上尝试了这个示例,但它不起作用,使用变量static前面的gloabl和变量bale前面的所有示例,问题是您正在使用构造函数设置静态属性,您可能永远不会创建特定类型的对象,这取决于它们的使用方式,因此可能永远不会设置机密。如果创建了对象,每次都会设置一个新的秘密-覆盖上一个。@NigelRen更新了解决方案。但仍然不能满足从未设置的要求!而且它现在根本没有设置值。@NigelRen期待看到你的答案…:)不太可能,因为我在15分钟前把这个问题作为一个重复的问题结束了。
class Mess {
    protected static $options = array(
     'secret' => '',
     'signing_method' => 'sha512',
     'verify' => true,
    );
    function __construct($number){
      !empty(self::$options['secret']) ? self::$options['secret'] : this->getName($number);
    }
    function getName($n) { 
      $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
      $randomString = ''; 
      for ($i = 0; $i < $n; $i++) { 
        $index = rand(0, strlen($characters) - 1); 
        $randomString .= $characters[$index]; 
      } 
      return $randomString; 
    } 
}