您是否可以在PHP中使用三元运算符而不关闭'else'语句?我已经尝试过了,它会返回错误.谷歌搜索没有产生任何东西,所以我认为答案可能不是.我只是想在这里仔细检查一下.例如:
if ( isset($testing) {
$new_variable = $testing;
}
Run Code Online (Sandbox Code Playgroud)
如果存在$ testing,则仅设置$ new_variable.现在我能做到
$new_variable = (isset($testing) ? $testing : "");
Run Code Online (Sandbox Code Playgroud)
但如果未设置$ testing,则返回$ new_variable的空变量.如果没有设置,我不想要一个空变量,我希望不创建$ new_variable.
我试过了
$new_variable = (isset($testing) ? $testing);
Run Code Online (Sandbox Code Playgroud)
它返回了错误.我也试过了
$new_variable = (isset($testing) ? $testing : );
Run Code Online (Sandbox Code Playgroud)
它也返回了错误.有没有办法在没有附加其他声明的情况下使用三元运算符,或者我是不是刻意写出来?
编辑:按照Rizier123的建议,我尝试将等式的'else'部分设置为NULL,但它仍然最终将一个键附加到数组.价值不存在,但关键是,这会弄乱我的计划.请允许我进一步解释.
代码将从表单中获取一堆$ _POST变量,并将它们用于stdClass中的参数,然后将其用于API方法调用.一些表单变量将不存在,因为它们都应用于API调用的同一变量,但用户只能选择一个.例如,您可以选择3个项目,无论您选择哪个项目传递给stdClass,另外2个项目都不存在.
我试过这个:
$yes_this_test = "IDK";
$setforsure = "for sure";
$list = new stdClass;
$list->DefinitelySet = $setforsure;
$list->MaybeSet = (isset($yes_this_test) ? $yes_this_test : NULL);
$list->MaybeSet = (isset($testing) ? $testing : NULL);
print_r($list);
Run Code Online (Sandbox Code Playgroud)
但显然MaybeSet被设置为NULL,因为(isset($ testing)在(isset($ yes_this_test)之后)返回
stdClass Object ( [DefinitelySet] => for …Run Code Online (Sandbox Code Playgroud) 我的项目将显示一个阳光明媚的领域和一个复选框,上面写着“让它下雨”。单击按钮后,太阳落山,云彩进来,并且会有动画 CSS 雨。我正在使用已检查的伪类来启动下雨动画和太阳的旋转。
如何反转未选中状态的动画?
页面的工作顺序如下:
pseudo class:checked被激活并开始动画现在,它只是在取消选中按钮时重置整个页面。有没有办法在不使用任何 JavaScript 的情况下将动画反转到它的原始状态?这个项目只有 CSS。
.sky {
height: 70%;
width: 100%;
position: absolute;
z-index: 1;
background: #e4f5fc;
/* Old browsers */
background: -moz-linear-gradient(top, #e4f5fc 0%, #bfe8f9 33%, #9fd8ef 86%);
/* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #e4f5fc), color-stop(33%, #bfe8f9), color-stop(86%, #9fd8ef));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #e4f5fc 0%, #bfe8f9 33%, #9fd8ef 86%);
/* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #e4f5fc 0%, #bfe8f9 33%, #9fd8ef 86%);
/* Opera 11.10+ */ …Run Code Online (Sandbox Code Playgroud)我正在通过这里找到的官方django 1.7教程.除了django找不到应用程序的模板外,一切都很顺利.它找到我放在workspace/mysite/templates下但不在workspace/mysite/polls/templates下的模板.
workspace是我在我的主目录中的一个文件夹,我保留了所有的web项目.
我的路径是〜工作区/ mysite /
而项目结构是
`workspace
|
mysite
|
db.sqlite3 - manage.py - mysite - mysite_env - polls - templates`
Run Code Online (Sandbox Code Playgroud)
为简洁起见,我只列出每个文件夹的内容:
在我指定的mysite/settings.py中
`TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]`
Run Code Online (Sandbox Code Playgroud)
我尝试添加一个路径到polls/templates文件夹,但这也没有用.
index的polls/views.py设置是:
`def index(request):
latest_question_list = Question.objects.order_by('-pub_date')[:5]
template = loader.get_template('/polls/index.html')
context = RequestContext(request, {
'latest_question_list': latest_question_list,
})
return HttpResponse(template.render(context))`
Run Code Online (Sandbox Code Playgroud)
实际的polls/templates/polls/index.html包含:
`{% if latest_question_list % }
<ul>
{% for question in latest_question_list %} …Run Code Online (Sandbox Code Playgroud) 我之前从未使用过jQuery中的图标功能,但我认为它们将成为链接UI样式表的一部分.我需要在它们出现之前下载图标包吗?这是我的项目,一切正常,只是没有图标.
在标题中:
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
Run Code Online (Sandbox Code Playgroud)
在页脚中:
<script>
jQuery(function() {
var icons = {
header: "ui-icon-circle-arrow-e",
activeHeader: "ui-icon-circle-arrow-s"
};
jQuery( "#accordion" ).accordion({
icons: icons,
collapsible: true,
active: false,
heightStyle: "content"
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
以及手风琴元素的实际html结构:
<div id="accordion">
<h3>Header Text</h3>
<div>
<p>Words and stuff</p>
</div>
<h3>Oh hello, I'm the second header</h3>
<div>
<p>SO MANY WORDS!</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
谢谢.