例如,我有一个这样的数组:
array(4)("a"=> string(0)"""b"=> string(0)"""c"=> string(0)"""d"=> string(0)"")
给定值都不应为空.
目前,我用这个:
if (!empty($_POST['x']['a']) && !empty($_POST['x']['b']) && !empty($_POST['x']['c']) && !empty($_POST['x']['d']))
Run Code Online (Sandbox Code Playgroud)
......从可读性方面来说很糟糕.
注意:数组是关联的.
我有课名Controller_Home.它应该继承Controller_Permissions和Controller_Template.任何带前缀的类都Controller_必须从Controller类继承.
如果在PHP(我的情况)中支持多继承,我可以这样做:
class Controller_Home extends Controller_Permissions, Controller_Template {
Run Code Online (Sandbox Code Playgroud)
而且Controller_Permissions,Controller_Template:
Controller_Permissions extends Controller {
Controller_Template extends Controller {
Run Code Online (Sandbox Code Playgroud)
现在我需要做这样的事情:
class Controller_Home extends Controller_Template {
class Controller_Permissions extends Controller_Template {
Controller_Template extends Controller {
Run Code Online (Sandbox Code Playgroud)
好的,它有效!
现在我需要在Controller_Template没有权限的情况下使用(in Controller_Permissions).
怎么做而不重复代码?我不想要另一堂课Controller_TemplateWithoutPermissions.
控制器,模板和权限就是例如.
我现在的正则表达式是/^[a-zA-Z]+( [a-zA-Z]+)*$/.它适用于以下名称:
John Smith
无论如何,该网站是国际的,名称可能是这样的,例如:
J?nis B?rzi?š
这是一个有效的名称,但正则表达式将无法验证它,因为?,?和š字符.
一种方法是键入允许的所有字符,但列表将是巨大的!
我正在寻找更简单的方法来做到这一点.也许黑名单而不是白名单方法?
谢谢你的建议!
所以我在分公司feature.而且我想重新加入分支机构master.
git rebase master
Run Code Online (Sandbox Code Playgroud)
它说feature分支是最新的.当然这是因为master分支没有改变 - 它与我feature从中创建分支的时刻相同.
实际上并非如此.我需要的只是做master分支.
git checkout master
git pull
git checkout feature
Run Code Online (Sandbox Code Playgroud)
我的问题:我不能更新master分支机构没有退房吗?
我尝试从feature分支:
git pull origin master master
Run Code Online (Sandbox Code Playgroud)
...但它更新了feature分支(不是我想要的)并且它已经在其中提交了"furure".
谢谢你的建议!:)
SELECT `bio_community_events`.`id`,
`bio_community_events`.`begin_on`,
`bio_community_events`.`name`
FROM `bio_community_events`
JOIN `bio_contacts`
ON (`bio_contacts`.`contact_id` = `bio_community_events`.`user_id`)
JOIN `bio_community_groups`
ON (`bio_community_groups`.`id` = `bio_community_events`.`group_id`)
WHERE `bio_contacts`.`user_id` = '33'
WHERE `bio_community_events`.`group_id` = '1'
LIMIT 10
UNION ALL
SELECT `bio_community_events`.`id`,
`bio_community_events`.`begin_on`,
`bio_community_events`.`name`
FROM `bio_community_events`
JOIN `bio_contacts`
ON (`bio_contacts`.`user_id` = `bio_community_events`.`user_id`)
JOIN `bio_community_groups`
ON (`bio_community_groups`.`id` = `bio_community_events`.`group_id`)
WHERE `bio_contacts`.`contact_id` = '33'
WHERE `bio_community_events`.`group_id` = '1'
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
它说:
[错误] 1064 - 您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'WHERE附近使用正确的语法
bio_community_events.group_id='1'
我找不到语法错误!
编辑:
我把所有包装成括号并添加"AND WHERE".不工作......仍然是同样的错误.
新查询:
SELECT `bio_community_events`.`id`,
`bio_community_events`.`begin_on`,
`bio_community_events`.`name`
FROM `bio_community_events`
JOIN …Run Code Online (Sandbox Code Playgroud) 我有一个<select>标签,我需要选择所选选项的值.
<select id="foo">
<option value="1">a</option>
<option value="2">b</option>
<option value="3">c</option>
</select>
Run Code Online (Sandbox Code Playgroud)
使用jQuery我尝试使用该val()方法这样做:
$('#foo').val();
Run Code Online (Sandbox Code Playgroud)
问题是它总是返回1- 所选选项的默认值!
为什么会这样?
可能重复:
javascript:递归匿名函数?
匿名递归PHP函数
我在想......是否可以使用匿名函数进行递归?
这是一个例子:我需要得到六个字符长的字符串,它可能只包含数字和空格.唯一的规则是它不能以空格开头或结尾.我们检查一下,如果发生这种情况 - 只需在相同的匿名函数上调用递归.怎么样!?
function() {
$chars = range(0, 9);
$chars[] = ' ';
length = 6;
$count = count($chars);
$string = '';
for ($i = 0; $i < $length; ++$i) {
$string .= $chars[mt_rand(0, $count - 1)];
}
$string = trim($string);
if (strlen($string) !== $length) { // There were spaces in front or end of the string. Shit!
// Do recursion.
}
return $string;
}
Run Code Online (Sandbox Code Playgroud) php recursion reference anonymous-function anonymous-recursion
我有路径,然后我用Raphael JS画.代码如下所示:
var paper = Raphael($('#draw_here')[0], '32', '32');
var star = paper.path("M 22.137,19.625 32,12 20,12 16,0 12,12 0,12 9.875,19.594 6,32 16.016,24.32 26.008,32 z");
star.attr({
fill: 'white',
stroke: 'black',
title: 'This is a STAAAAAAAR!'
});
Run Code Online (Sandbox Code Playgroud)
它工作,它绘制32 x 32像素的大明星.如何改变它的宽度和高度?
我试着这样做:
var paper = Raphael($('#draw_here')[0], 64, 64);
var star = paper.path("M 22.137,19.625 32,12 20,12 16,0 12,12 0,12 9.875,19.594 6,32 16.016,24.32 26.008,32 z");
star.attr({
fill: 'white',
stroke: 'black',
title: 'This is a STAAAAAAAR!',
width: 64,
height: 64
});
Run Code Online (Sandbox Code Playgroud)
...但所有变化都是"纸元素"的宽度和高度,而不是明星的.
我想要做的就是当鼠标的光标在它上面时,星形会变大.
谢谢你的建议! …
Hitchhiker的Python指南指出重用变量名称是好事.
foo = Spam()
bar = foo.eggs()
Run Code Online (Sandbox Code Playgroud)
而且我同意它.它使代码可读.
如果变量是40 MB的数据怎么办?它会复制自己,总共有80 MB吗?
foo = buffer # 40 MB.
bar = foo.resize((50, 50)) # +40?
Run Code Online (Sandbox Code Playgroud)
我知道在执行函数时会释放内存,但我仍然认为只有因为可读性而在一个app状态下使用两倍高的内存才是个好主意.这就像一个特例,但另一方面,特殊情况不够特别,是吧?
所以这是HTML示例:
<p>Hello</p>
<p>World</p>
<p><img src="catpic.jpg" /></p>
Run Code Online (Sandbox Code Playgroud)
text-indent如果段落不包含任何图像,我如何申请所有段落.
在这种情况下,只会选择前两个元素.
p [insert magic] { text-indent: 2em; }
Run Code Online (Sandbox Code Playgroud)
我可以使用CSS3,但我不想使用JavaScript.此外,我无法向现有元素添加额外的类或任何内容.
php ×4
arrays ×1
branch ×1
class-design ×1
copy ×1
css ×1
css3 ×1
dimensions ×1
drawing ×1
git ×1
git-checkout ×1
inheritance ×1
javascript ×1
jquery ×1
letter ×1
memory ×1
mysql ×1
oop ×1
option ×1
paragraph ×1
pull ×1
python ×1
raphael ×1
recursion ×1
reference ×1
regex ×1
select ×1
selector ×1
sql ×1
svg ×1
syntax ×1
unicode ×1
updates ×1
validation ×1
variables ×1