相关疑难解决方法(0)

为什么变量名不能以数字开头?

我在回答问题时曾与一位新的C++开发人员合作:"为什么变量名称不能以数字开头?"

我无法想出答案,除了一些数字可以包含文本(123456L,123456U),如果编译器认为所有带有一些字母字符的数字都是变量名称,那就不可能.

这是正确的答案吗?还有其他原因吗?

string 2BeOrNot2Be = "that is the question"; // Why won't this compile?
Run Code Online (Sandbox Code Playgroud)

c++ variables programming-languages language-design variable-names

126
推荐指数
10
解决办法
9万
查看次数

为什么在PHP中允许这样做?

为什么PHP不在第7行抛出错误?

https://ideone.com/DHMLCY

<?php

class Test {
    public function __construct(){

        $name = 123;
        $this->$name = 'Test';
        var_dump($this->$name);


        $this->123 = 'Test2';
        var_dump($this->123);

    }
}

$test = new Test();
var_dump($test);
Run Code Online (Sandbox Code Playgroud)

我一直认为,课堂领域不能以数字开头.但如果数字在一个变量中,那似乎并非如此.

php

4
推荐指数
1
解决办法
102
查看次数

我想将软件许可证密钥加密/解密到mysql数据库中

我想将软件许可证密钥存储在我的mysql数据库的一个字段中,但我希望以乱码格式存储许可证号,这样如果数据库被泄露,许可证密钥将无法使用.

许可证密钥字段有3种可能的方案:

  1. 它可能为null - 某些用户还没有存储在数据库中的许可证密钥.
  2. 它可能是25位数的许可证,每5个字符由一个超级分隔:例如:ABCD1-EFGH2-IJKL3-MNOP4-QRST5
  3. 它可能是10位数的许可证,所有这些都是数字,并且没有分隔符:例如:1234567890

我想在存储之前加扰许可证,然后在登录后向用户显示时,再次运行相同的加扰功能以解密许可证.

我想我需要先检查许可证的格式.

  1. 如果为0,则什么也不做.我可以在加载函数之前检查它是否为null.
  2. 如果是29,则使用连字符分隔符来混洗许可证的各个部分,例如2nd和4th,并且可以使用str_rot13来更改字母字符.
  3. 如果是10,请选择说出第3,第5,第7和第9个字符并更改其顺序.比如第5名第9名和第3名第7名.

我设置了以下内容:

    function scramble($scramblestr) {

    // check string length
    $length = strlen($scramblestr);

    // if 10 digit license (all numbers)
    if ($length == 10) {
        $1st = substr($scramblestr, 0, 1);
        $2nd = substr($scramblestr, 1, 1);
        $3rd = substr($scramblestr, 2, 1);
        $4th = substr($scramblestr, 3, 1);
        $5th = substr($scramblestr, 4, 1);
        $6th = substr($scramblestr, 5, 1);
        $7th = substr($scramblestr, 6, 1);
        $8th = substr($scramblestr, 7, 1);
        $9th = substr($scramblestr, 8, 1); …
Run Code Online (Sandbox Code Playgroud)

php mysql syntax-error scramble

1
推荐指数
1
解决办法
276
查看次数