小编Dev*_*laN的帖子

如何匹配由至少4个唯一数字组成的数字

我需要(不幸的是它必须在数据库级别 - 实际上是MariaDB)来使用规则来验证使用正则表达式数字,该规则必须由至少4个唯一数字组成.

我需要完成的示例:

112233441122 is OK (made only from 1,2,3,4)
1234564222134 is OK (6 different digits)
122102111 is bad (3 digits only: 0,1,2)
91511201 is OK (5 digits)

我很乐意分享我的尝试,但现在我的反馈很不好,而且我的任何微不足道的尝试都没有更接近匹配甚至由两个不同角色组成的单词.我还尝试过用户定义的函数来计算字符串中的字符数,但它们很慢并且不如使用REGEX那么优雅.

regex mariadb

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

Imploding特定的关联数组键值

我有关联数组与包含数据的数据库的结果,如下面的结构:

$arr[0] = Array("id"=>4, "otherdata"=>"something");
$arr[1] = Array("id"=>6, "otherdata"=>"something else");
$arr[2] = Array("id"=>15, "otherdata"=>"something totally different");
Run Code Online (Sandbox Code Playgroud)

我想破坏id每个$arr条目中只有键的数据,以便最终内爆的字符串4,6,15(粘合,).

现在我有一些解决方案:

  1. 在Smarty中使用纯PHP进行操作.
  2. 创建将破坏array_map结果的函数,该函数仅创建具有id的新表.
  3. 在Smarty模板中分配变量并使用foreach创建类似内爆的结果字符串.

但他们俩都不高兴.

有没有其他简单的方法来达到预期的效果?

php arrays smarty implode

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

使用引用不会导致有关未定义行为的警告

我一直在研究C++的未定义行为示例,我发现了以下一个:

int a = 0;
a = a++;
Run Code Online (Sandbox Code Playgroud)

尝试了它,g++ -Wall -Wextra它让我警告序列点.

但后来我考虑使用参考的另一种情况:

int a = 0;
int &b = a;
b = a++;
Run Code Online (Sandbox Code Playgroud)

关于序列点,我没有对此大喊大叫.它似乎应该是显而易见的.是否有任何好的解释为什么这两个例子被编译器区别对待?

c++ g++ undefined-behavior

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

标签 统计

arrays ×1

c++ ×1

g++ ×1

implode ×1

mariadb ×1

php ×1

regex ×1

smarty ×1

undefined-behavior ×1