我想知道如何将短ASCII字符串转换为数字(int,float或数字字符串).我在这里看到几个帖子提到了完美的哈希,似乎它可能就是我需要的东西.但是,我对此并不十分了解数学.
如何将ASCII字符串转换为数字序列然后再转换为字符串?
作为旁注,将字符串分解为ASCII字符数很容易.
foreach(str_split($string) as $char) $number .= ord($char);
Run Code Online (Sandbox Code Playgroud)
经过更多的阅读,我想出了这个.但是,我想知道是否有任何方法缩短数字序列,所以它不会那么长.
class intnum
{
public static $charset = array(
32 => ' ', 33 => '!', 34 => '"', 35 => '#', 36 => '$',
37 => '%', 38 => '&', 39 => "'", 40 => '(', 41 => ')',
42 => '*', 43 => '+', 44 => ',', 45 => '-', 46 => '.',
47 => '/', 48 => …Run Code Online (Sandbox Code Playgroud) 我正在尝试找到有关MySQL,PostgreSQL,SQLite等开源数据库的正确RDBMS SQL查询的信息.他们是否有任何预组装列表或者我只需要梳理每个数据库引擎的文档(在某些情况下猜测正确的实现? ALTER TABLE vs CREATE INDEX)
例如,到目前为止,我有MySQL的这个(部分)列表:
CREATE TABLE `%s` (...);
DROP TABLE IF EXISTS `%s` %s;
ALTER TABLE `%s` RENAME TO `%s`;
ALTER TABLE `%s` ADD COLUMN %s;
ALTER TABLE `%s` DROP COLUMN `%s` %s;
ALTER TABLE `%s` RENAME COLUMN `%s` to `%s`;
ALTER TABLE `%s` ADD CONSTRAINT `%s` FOREIGN KEY (`%s`) REFERENCES `%s` (`%s`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `%s` ADD CONSTRAINT `%s` UNIQUE (`%s`);
ALTER TABLE `%s` DROP CONSTRAINT …Run Code Online (Sandbox Code Playgroud) mysql postgresql relational-database ansi-92 database-schema
我正在尝试使用标记生成器扫描文件以查找所有已定义的类,它们扩展的任何内容,任何创建的实例以及它们被静态调用的任何时间.
<?php
$tokens = token_get_all(file_get_contents($file));
$used_classes = array();
$defined_classes = array();
$variable_classes = array();
foreach($tokens as $i => $token) {
if(is_array($token)) {
if(isset($tokens[$i - 2][0], $tokens[$i - 1][0])) {
// new [class]
if ($tokens[$i - 2][0] == T_NEW AND $tokens[$i - 1][0] == T_WHITESPACE) {
if($tokens[$i][0] == T_STRING) {
$used_classes[$token[1]] = TRUE;
// new $variable()
} elseif($tokens[$i][0] == T_VARIABLE) {
// @todo, this is really broken. However, do best to look for the assignment
if(preg_match('~\$var\s*=\s*([\'"])((?:(?!\1).)*)\1~', $text, $match)) {
if(empty($extension_classes[$match[2]])) { …Run Code Online (Sandbox Code Playgroud) 我想创建一个存储 500 字节位图 ( 500 bytes * 8 bits per byte = 4000 bits) 的表列,并执行操作以改变位图中某些索引处的位(设置为 1 或 0)。
然而,有关位图的文档页面大多是空的,我只能将原始位函数作为唯一的指南。如何在 MySQL 中创建、计数、读取和更改位图作为列类型?
使用binandlpad可以将 64 位数字作为二进制字符串打印出来。
LPAD(BIN(34), 64, '0')
0000000000000000000000000000000000000000000000000000000000100010
Run Code Online (Sandbox Code Playgroud)
然而,如何打印出可能有 4000 位长的 binary/blob/varbinary 字符串呢?
(注意:不是谈论位图索引)
我们在一个项目中有几个配置文件,有3个人正在处理.但是,这些配置文件包含几行不同的行,因此不应该被提交更改或覆盖.然而,Git不会让我们从其他人那里获取更改,除非我们提交那些配置文件更改,这意味着它会再次更改其他成员配置.
作为Git的新手,似乎我们需要创建分支并在每次提交时合并它们以更新我们的代码 - 或者使用.gitignore.处理这种情况的正确方法是什么?我们都需要不断访问其他成员所做的更改.
我在MySQL中运行LOAD DATA INFILE命令,其中一个文件在mysql提示符下显示错误.
如何查看警告和错误?现在我唯一要做的就是提示在导入时报告65,535个警告.
mysql> use dbname;
Database changed
mysql> LOAD DATA LOCAL INFILE '/dump.txt'
-> INTO TABLE table
-> (id, title, name, accuracy);
Query OK, 897306 rows affected, 65535 warnings (16.09 sec)
Records: 897306 Deleted: 0 Skipped: 0 Warnings: 0
Run Code Online (Sandbox Code Playgroud)
我如何让mysql向我展示这些警告是什么?我查看了错误日志,但我找不到它们.运行"SHOW WARNINGS"命令仅返回64个结果,这意味着剩下的65,000个警告必须在其他地方.
2 |
| Warning | 1366 | Incorrect integer value: '' for column 'accuracy' at row 2038
3 |
| Warning | 1366 | Incorrect integer value: '' for column 'accuracy' at row 2038
4 |
| …Run Code Online (Sandbox Code Playgroud) 因此,我们必须以一种语言或另一种语言在我们的网站上提供大量内容.由于我们是网络专业人士,我们花了所有时间,我们可以学习人类语言 - 而不是学习计算机语言.所以我们需要一些来翻译我们的内容.
谷歌提供翻译服务(以及 其他),因此,鉴于他们庞大的帝国,我相信他们(或不久将)拥有最好的翻译服务.考虑到这一点,使用它的最佳方法是什么?我们可能只是懒惰和使用小部件,它们提供-但我们会失去所有的内容和搜索引擎优化果汁,因为谷歌将重新编写链接指向"translate.googleusercontent.com?translate = ...".
所以我的问题是 - 我们如何在保留翻译内容的同时使用此服务?
一种方法是使用Google AJAX API在需要时内联加载内容.但由于它是由JS(如jQuery)驱动的 - 搜索引擎不会从中受益.
另一种方法是使用服务器端语言(如PHP)从Google翻译页面中删除内容.但我不确定这是100%合法的.
最后,我想知道如何使用mod_rewrite来获取页面.但同样,我不认为这会使我们的网站受益.
RewriteRule ^(.*)-fr$ http://www.google.com/translate_c?hl=fr&sl=en&u=http://site.com/$1 [R,NC]
RewriteRule ^(.*)-de$ http://www.google.com/translate_c?hl=de&sl=en&u=http://site.com/$1 [R,NC]
RewriteRule ^(.*)-es$ http://www.google.com/translate_c?hl=es&sl=en&u=http://site.com/$1 [R,NC]
RewriteRule ^(.*)-it$ http://www.google.com/translate_c?hl=it&sl=en&u=http://site.com/$1 [R,NC]
Run Code Online (Sandbox Code Playgroud)
您需要做的就是在您的页面上添加一些链接,并在链接和您的集合中的URL末尾附加变量"-fr".
//View file
View Page in <a href="<?php print $uri_string; ?>-de">German</a>
Run Code Online (Sandbox Code Playgroud)
有没有人对此有任何想法?
:编辑:
看完Google 浏览器的服务后,似乎就是这样
您不会,也不会允许您的最终用户或其他第三方:将Google搜索结果作为您房产的主要内容或您房产的任何页面; 提交超过5000个字符的任何请求;
对我来说听起来像你不能使用谷歌翻译网址来翻译主要内容 - 使用PHP或AJAX - 如果该内容是页面的主要帖子.现在这是如何工作的?为什么要构建翻译API,然后不允许在主页内容上使用它?
据我所知,网络服务器(Apache/Nginx $_SERVER['REMOTE_ADDR'])根据请求用户代理的声明位置提供().所以我知道他们可以撒谎,但这个值可能是空白的吗?网络接口或网络服务器是否会在没有正确形成IP的情况下接受请求?
我已经接管了一个项目,它有一个包含超过30列的用户表.糟糕的是,列的更改和添加不断发生.
这不对.
我应该推动将额外的字段作为值移动到第二个表中并创建存储这些列名的第三个表吗?
user
id
email
user_field
id
name
user_value
id
user_field_id
user_id
value
Run Code Online (Sandbox Code Playgroud) mysql ×4
php ×4
javascript ×2
sql ×2
ansi-92 ×1
bcrypt ×1
bitset ×1
class ×1
encoding ×1
git ×1
hash ×1
networking ×1
perfect-hash ×1
postgresql ×1
rdbms ×1
sha ×1
string ×1
tokenize ×1
translation ×1
webserver ×1