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