小编Lod*_*ode的帖子

如何模拟git log --decorate每种分支类型的不同颜色

在制作我最喜欢的git日志视图时,我创建了这个别名:

graph = log --pretty=format:'%Cgreen%ad%Creset %C(yellow)%h%Creset%C(yellow)%d%Creset %s %C(cyan)[%an]%Creset %Cgreen(%ar)%Creset' --date=short --graph

这会创建一个输出,如:

Git日志结果有自己的着色

我在这里缺少的是分支类型的不同颜色,如log --oneline --decorate --graph.

Git日志结果--decorate(= short)

--decorate(默认情况下使用= short)为不同的识别分支提供不同的颜色.分支类型(HEAD, origin/master, origin/HEAD, master)为青色,红色,红色,绿色.然而我的没有色彩; 仅用整个分支部分的黄色着色.

有没有办法用不同的别名给不同种类的树枝赋予不同的颜色?

git git-config

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

MySQLi count(*)总是返回1

我正在尝试计算表中的行数,并认为这是正确的方法:

$result = $db->query("SELECT COUNT(*) FROM `table`;");
$count = $result->num_rows;
Run Code Online (Sandbox Code Playgroud)

但是计数总会回归(int)1.如果我在phpMyAdmin中使用相同的查询,我会得到正确的结果.它坐在一张桌子里,所以我也尝试过测试$count[0],但是返回了NULL.

这样做的正确方法是什么?

php mysql mysqli

36
推荐指数
2
解决办法
9万
查看次数

PHP从数组中提取部分保留以前的键

我有特定键的数组.我想获得前5个数组元素.我用array_splice().一切正常,但新阵列中的键是0,1,2,3,4.我想保留以前的数组键.我可以做到foreach,但我找到了优雅的方法.
我的代码:

$levels = array('a' => 1, 'b' =>2, 'c' => 3, 'd' => 4, 'f' => 5, 'g' => 6);
$levels = array_splice($levels, 5);
Run Code Online (Sandbox Code Playgroud)

先感谢您.对不起我的英语不好.

php arrays slice

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

如何在浏览器扩展中的第一个选项卡/新窗口上加载页面

我有Chrome和Firefox的浏览器扩展程序,在manifest.json中我定义了一个要在新标签上加载的页面:

"chrome_url_overrides": {
    "newtab": "page.html"
},
Run Code Online (Sandbox Code Playgroud)

在Firefox中,这会在新选项卡中显示我的页面,但不会在第一个选项卡或新窗口中显示.在Chrome中,这没有问题,并显示第一个标签页,新标签页和新窗口的页面.

我读到了有关homepage设置,将使用如下:

"chrome_settings_overrides": {
    "homepage": "page.html"
},
Run Code Online (Sandbox Code Playgroud)

由于它位于不同的键(chrome_settings_overrides)中,我感觉它的行为也不同,但我在文档中找不到这两者之间的差异或相似之处.

Firefox文档实际上将这两个功能链接在一起,说明您可能需要另一个.(火狐NEWTAB主页,铬NEWTAB主页.)另外,我发现这个问题在Firefox的错误追踪系统(https://bugzilla.mozilla.org/show_bug.cgi?id=1341458),他们是从移动主页设置chrome_url_overrideschrome_settings_overrides,这意味着它们的工作方式相似.

更新:我尝试进行此更改并在没有特定说明的情况下破坏了Firefox中的扩展程序,并在Chrome中发出警告,指出homepage应该是一个网址.

有人知道如何扩展Firefox中的第一个/新窗口吗?

并且可选:

  • 如果这两个功能之间有任何差异?
  • 为什么Chrome似乎不需要homepage定义并使用newtab第一个选项卡和新窗口的设置?

firefox google-chrome browser-extension

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

将字母强制转换为int时,C#做了什么?

我们要为外部接口实现加密.接口的所有者已经提供了如何在我们这边预先形成相同加密的文档.但是,这个文档是在C#中,我们使用PHP.

我们理解的大多数部分除了它们似乎将哈希值转换为int之外.他们的代码如下:

// hashString exists and is a md5 a like string
int[] keyBuffer = new int[hashString.length];
for (int i=0; i<hashString.length; i++) {
    keyBuffer[i] = (int)hashString[i];
}
Run Code Online (Sandbox Code Playgroud)

在PHP中,将字母转换为int时,得到0(int).由于我们无法想象这是第三方意味着什么,我们相信C#会做其他事情.

C#也会转换为int 0,还是可能转换为char?

其次,原始的hashString长320.这意味着代码将创建一个320长的int?在PHP中,你没有像C#那样保留内存的想法.但是当我们尝试将320长字符串强制转换为int时,我们得到一个长度为19'字符的int.

当在字符串中对一个非常长的"数字"进行类型转换时,C#是否也会创建一个更短的int?

php c# casting

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