在PHP中,我有以下代码:
<?PHP
$var = .000021;
echo $var;
?>
Run Code Online (Sandbox Code Playgroud)
输出为2.1E-5!
为什么?它应该打印.000021
如果我有一个内部类的实例,我如何从不在内部类中的代码访问外部类?我知道在内部类中,我可以Outer.this用来获取外部类,但我找不到任何外部方法来获取它.
例如:
public class Outer {
public static void foo(Inner inner) {
//Question: How could I write the following line without
// having to create the getOuter() method?
System.out.println("The outer class is: " + inner.getOuter());
}
public class Inner {
public Outer getOuter() { return Outer.this; }
}
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个正则表达式来从查询字符串中删除单个参数,我想在可能的情况下在单个正则表达式中执行此操作.
说我想删除foo参数.现在我用这个:
/&?foo\=[^&]+/
Run Code Online (Sandbox Code Playgroud)
只要foo不是查询字符串中的第一个参数,它就可以工作.如果是,那么我的新查询字符串以&符号开头.(例如," foo=123&bar=456"给出" "的结果&bar=456.)现在,我只是在正则表达式后检查,如果查询字符串以&符号开头,如果是,则将其砍掉.
示例边缘情况:
Input | Expected Output
-------------------------+--------------------
foo=123 | (empty string)
foo=123&bar=456 | bar=456
bar=456&foo=123 | bar=456
abc=789&foo=123&bar=456 | abc=789&bar=456
Run Code Online (Sandbox Code Playgroud)
好的,正如评论中指出的那样,有更多的边缘案例比我最初考虑的更多.我得到以下正则表达式与他们一起工作:
/&foo(\=[^&]*)?(?=&|$)|^foo(\=[^&]*)?(&|$)/
Run Code Online (Sandbox Code Playgroud)
这是从马克拜尔斯的回答中修改的,这就是为什么我接受那个,但罗杰佩特的投入也帮助了很多.
以下是我正在使用的全套测试用例,以及一个测试它们的Javascript代码段:
$(function() {
var regex = /&foo(\=[^&]*)?(?=&|$)|^foo(\=[^&]*)?(&|$)/;
var escapeHtml = function (str) {
var map = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''
};
return str.replace(/[&<>"']/g, function(m) { return map[m]; });
};
//test cases
var tests …Run Code Online (Sandbox Code Playgroud)假设我在Java中有一个表达式,例如:
String s = "abc" + methodReturningAString() + "ghi" +
anotherMethodReturningAString() + "omn" + "blablabla";
Run Code Online (Sandbox Code Playgroud)
Java的默认JDK编译器的行为是什么?它只是制作五个连接还是有智能性能技巧?
目前我通过以下两种方法之一将字符串换成新行:
<cfset someStr="This is line 1" & Chr(10) & "This is line 2" & Chr(10) & "This is line 3" />
Run Code Online (Sandbox Code Playgroud)
要么
<cfset NL=Chr(10) />
<cfset someStr="This is line 1#NL#This is line 2#NL#This is line 3" />
Run Code Online (Sandbox Code Playgroud)
还有更像Java/C++的方式吗?更像是这样我的意思是:
<cfset someStr="This is line 1\nThis is line 2\nThis is line 3" />
Run Code Online (Sandbox Code Playgroud) 更新:问题似乎是我的PHP安装中的某个地方已损坏的DLL,或者可能是Win2k上的PHP 5.2.9中的错误.我从php.net下载了PHP 5.2.10的windows(仅限二进制文件)发行版,并将其解压缩到我的c:\ PHP目录中.在这之后,一切都很好.
Update2:我解除了我之前尝试过的所有内容(下面的项目符号列表中的所有内容),除了我extension=php_curl.dll在php.ini文件中没有注释.事实证明,在正确的安装中你应该做的就是这一切.
我正在尝试让CURL在PHP的Windows安装(版本5.2.9-2)上工作,而我现在已经结束了.我找到了PHP CURL安装页面,这个SO问题引用了这个页面,这个问题.我已经在所有这些页面中尝试了大部分建议,但我仍然遇到错误.这是我非常简单的测试页面:
<?php
$ch = curl_init();
?>
<b>Success!</b>
Run Code Online (Sandbox Code Playgroud)
这给了我:
致命错误:在第2行的C:\ ApacheRoot\curltest.php中调用未定义的函数curl_init()
在我的Apache错误日志中,每次服务器启动时都会收到:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\PHP\\ext\\php_curl.dll' - The specified procedure could not be found.\r\n in Unknown on line 0
我做了以下事情:
extension=php_curl.dllssleay32.dll并libeay32.dll从C:\ PHP 复制到C:\ WINNT\System32C:\cURL到我的系统PATH环境变量中.我一直在使用关系数据库,但最近才发现必须有其他类型的非关系型数据库.
什么是非关系数据库的例子,以及它们在现实世界中的使用位置和方式?为什么要选择在关系数据库上使用非关系数据库?
编辑:答案中提到了另外两个类似的问题:
我发现我经常最终编写一个我总称之为" clamp()" 的函数,这是一种组合min()和max().这个功能有标准的"规范"名称吗?
它总是看起来像这样:
function clamp($val, $lower, $upper)
{
if ($val < $lower)
return $lower;
else if ($val > $upper)
return $upper;
else
return $val;
}
Run Code Online (Sandbox Code Playgroud)
或者只是使用内置min()和max()功能:
function clamp($val, $lower, $upper)
{
return max($lower, min($upper, $val));
}
Run Code Online (Sandbox Code Playgroud)
存在变化:您还可以检查无效输入,在哪里lower > upper,并抛出异常或反转输入.或者你可以忽略输入的顺序并将其称为三次中值函数,但这可能会令人困惑.
我总是想知道是否有用于删除标准C++语言中的多维数组的运算符.
如果我们创建了一个指向单维数组的指针
int *array = new int[size];
Run Code Online (Sandbox Code Playgroud)
删除看起来像:
delete [] array;
Run Code Online (Sandbox Code Playgroud)
那很棒.但如果我们有二维数组,我们就做不到
delete [][] twoDimenstionalArray;
Run Code Online (Sandbox Code Playgroud)
相反,我们应该循环和删除项目,就像在这个例子中一样.
谁能解释为什么?
syntax ×4
java ×2
php ×2
arrays ×1
c ×1
c++ ×1
coldfusion ×1
curl ×1
database ×1
formatting ×1
nested ×1
newline ×1
nomenclature ×1
numbers ×1
performance ×1
query-string ×1
regex ×1
standards ×1
string ×1
wamp ×1