我有一个函数,它接受两个参数但我希望第二个参数是可选的:
function myFunction($arg1, $arg2) {
//blah
//blah
if (isset($arg2)) {
//blah
} else {
//blah
}
}
Run Code Online (Sandbox Code Playgroud)
所以,当我把它,我可能会做myFunction("something"),否则我就会做myFunction("something", "something else").
当我只包含一个参数时,PHP会发出以下警告:
警告:缺少myFunction()的参数2,...
所以它有效,但很明显开发人员对它不屑一顾.
它是确定要做到这一点,或者我应该是传递""或false或0到第二个参数时,我不想使用它,测试为,而不是使用isset()?
我注意到很多人在JavaScript中调用函数时错过了参数,这就是为什么我要问它是否也在PHP中完成.
我正在尝试编译一个包含大量错误的haskell文件.我想开始调试第一个,但不幸的是有很多它们离开了屏幕.
我想将错误消息传递给一个文件,以便我可以从顶部读取,但正常的方法似乎不起作用.
我试过了:
ghc File.hs > errors.log
ghc File.hs >> errors.log
ghc File.hs | more
Run Code Online (Sandbox Code Playgroud)
他们都没有工作.使用>并>>仅将前几行写入文件,然后将其余行写入标准输出.使用more,less,cat等不作任何差别.
是否有GHC标志可以让我输出到文件?
(我应该让你知道我正在使用Cygwin在Windows机器上工作.)
我有一个字符串数组,我想按照下降的长度排序.但是,它是一个二维数组,我不知道如何实现一个能满足我想要的功能.
这是一个数组的例子:
Array
(
[0] => Array
(
[0] => "abc"
[1] => "def"
[2] => "1234"
)
[1] => Array
(
[0] => "ghijkl"
[1] => "092"
[2] => "234234"
)
[2] => Array
(
[0] => "mn"
[1] => "opq"
[2] => "67843"
)
)
Run Code Online (Sandbox Code Playgroud)
我只对子数组中第一项的长度感兴趣.理想情况下,最终会看起来像这样:
Array
(
[0] => Array
(
[0] => "ghijkl"
[1] => "092"
[2] => "234234"
)
[1] => Array
(
[0] => "abc"
[1] => "def"
[2] => "1234"
)
[2] => …Run Code Online (Sandbox Code Playgroud) 我有两节课:
class BaseResource {
public $url;
protected $relativeUrl;
protected $parentUrl;
public function BaseResource($relUrl, $parentUrl) {
$this->relativeUrl = $relUrl;
$this->parentUrl = $parentUrl;
$this->url = url_to_absolute($parentUrl, $relUrl);
}
}
class XMLResource extends BaseResource {
private $xml;
public function XMLResource($relUrl, $parentUrl, $xml) {
parent::BaseResource($relUrl, $parentUrl);
$this->$xml = $xml;
}
}
Run Code Online (Sandbox Code Playgroud)
这都是非常简单的东西,但是当我执行以下代码时,我收到一个错误.
$relUrl = "../something.html";
$parentUrl = "http://example.com/test/index.php";
$xml = new DOMDocument();
$xmlRes = new XMLResource($relUrl, $parentUrl, $xml);
Run Code Online (Sandbox Code Playgroud)
可捕获的致命错误:类DOMDocument的对象无法转换为字符串
为什么假设它XMLResource::xml是一个字符串?我还没有使用它所以我认为它是未定义的,直到它被设置然后它采取任何设置的类型?
我有这样的功能:
example :: [Char] -> [Char]
example myString = ...................
where
pat = "something"
returnList = myString =~ pat :: [(MatchOffset,MatchLength)]
Run Code Online (Sandbox Code Playgroud)
我的问题是我不知道如何存储我从调用中返回的值 myString =~ pat :: [(MatchOffset,MatchLength)]
我不能像在这里一样将它存储在单个变量名中,但我不确定如何存储它.
它目前给出了这个错误:
No instance for (RegexContext
Regex [Char] [(MatchOffset, MatchLength)])
arising from a use of `=~'
Possible fix:
add an instance declaration for
(RegexContext Regex [Char] [(MatchOffset, MatchLength)])
In the expression: myString =~ pat :: [(MatchOffset, MatchLength)]
In an equation for `returnList':
returnList = myString =~ pat :: [(MatchOffset, MatchLength)]
In an equation …Run Code Online (Sandbox Code Playgroud) 我正在研究一个很好的长正则表达式(为了好玩,是的,我知道......)我想把它写在一个文件中,这样我就能保持更好的记录.我可以这样叫grep:
grep regex.txt fileToSearch.txt
Run Code Online (Sandbox Code Playgroud)
我试过了它并没有用.有没有我必须使用的标志或这种方法不可能?
我正在用jQuery编写一个简单的下拉菜单,每个项目都有一个复选框.单击li元素时,将选中该复选框.但是,如果我单击复选框本身,它不会选择,因为它被有效地检查了两次.我怎么能阻止这种情况发生?
jsFiddle:http://jsfiddle.net/ZEp7V/
HTML:
<div id="dropdown">Channels</div>
<ul class="droplist">
<li>News <input type="checkbox" /></li>
<li>Sport <input type="checkbox" /></li>
<li>Science <input type="checkbox" /></li>
<li>Health <input type="checkbox" /></li>
<li>All</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
CSS:
div#dropdown {
border: 1px solid #000;
width: 150px;
height: 20px;
line-height: 20px;
padding: 10px;
cursor: pointer;
}
ul.droplist {
display: none;
width: 170px;
border: 1px solid #000;
border-bottom: none;
list-style-type: none;
padding: 0px;
margin: 0px;
position: absolute;
background-color: #fff;
}
ul.droplist li {
border-bottom: 1px solid #000;
padding: 10px; …Run Code Online (Sandbox Code Playgroud) 我有一个insert语句,我需要返回一个参数,以便以后使用它.我收到一个奇怪的错误,我似乎无法找到解决方案.任何人都可以对此有所了解吗?
set define off;
variable videoID number;
insert into VM_VIDEO (VIDEO_ID, ...)
values (SEQ_VMMIGVIDEO_ID.NEXTVAL, ...)
returning VIDEO_ID into :videoID;
insert into IMAGES (IMAGE_ID, ...)
values (SEQ_IMAGE_ID.NEXTVAL, ...);
update VM_VIDEO
set THUMB_IMAGE_ID = SEQ_IMAGE_ID.CURRVAL
where VIDEO_ID = :videoID;
Run Code Online (Sandbox Code Playgroud)
错误:
Error starting at line 4 in command:
insert into VM_VIDEO (VIDEO_ID, ...) values (SEQ_VMMIGVIDEO_ID.NEXTVAL, ...) returning VIDEO_ID into :videoID
Error report:
SQL Error: Not all return parameters registered
Run Code Online (Sandbox Code Playgroud) 非常简单的问题,是否可以编写这样的Oracle更新语句,将列名和值组合在一起?
UPDATE table_name SET (column1, column2, column3) = (value1, value2, value3)
Run Code Online (Sandbox Code Playgroud)
我问的原因是因为我正在编写一个脚本来迁移大量数据和插入语句我有一个包含所有列名的字符串和一个包含所有值的字符串.我需要为相同的数据写一个更新语句,并想知道是否有另一种方法可以用不同的格式再次写出来!