问题列表 - 第3750页

在PHP中测试变量存在的最佳方法; isset()显然已被打破

来自isset()文档:

isset() will return FALSE if testing a variable that has been set to NULL.
Run Code Online (Sandbox Code Playgroud)

基本上,isset()不检查变量是否设置,但是否设置为除了NULL.

鉴于此,实际检查变量是否存在的最佳方法是什么?我尝试过类似的东西:

if(isset($v) || @is_null($v))
Run Code Online (Sandbox Code Playgroud)

(这@是必要的,以避免$v未设置时的警告)但is_null()有一个类似的问题isset():它返回未TRUE设置的变量!它似乎也是:

@($v === NULL)
Run Code Online (Sandbox Code Playgroud)

工作完全一样@is_null($v),所以也是这样.

我们如何可靠地检查PHP中是否存在变量?


编辑:在未设置的变量和设置为的变量之间,PHP显然存在差异NULL:

<?php
$a = array('b' => NULL);
var_dump($a);
Run Code Online (Sandbox Code Playgroud)

PHP显示$a['b']存在,并且具有NULL值.如果你添加:

var_dump(isset($a['b']));
var_dump(isset($a['c']));
Run Code Online (Sandbox Code Playgroud)

你可以看到我正在谈论的isset()功能歧义.以下是所有这三个的输出var_dump()s:

array(1) {
  ["b"]=>
  NULL
}
bool(false)
bool(false)
Run Code Online (Sandbox Code Playgroud)

进一步编辑:两件事.

一,用例.将数组转换为SQL UPDATE语句的数据,其中数组的键是表的列,数组的值是要应用于每列的值.任何表的列都可以保存一个NULL值,通过 …

php variables isset

186
推荐指数
7
解决办法
14万
查看次数

ASP.NET - UpdatePanel和JavaScript

有没有办法在UpdatePanel进程完成时执行脚本.

我有一个页面,允许"插入","复制"和"编辑"记录.这都是在UpdatePanel上完成的,以防止页面导航.在页面的其他地方,我想打印一条"flash"消息 - 比如"你已成功输入记录".它不在UpdatePanel附近,我想对消息使用jQuery效果,因此它会在4秒后淡出.如何使用UpdatePanel发回脚本或在UpdatePanel刷新后执行脚本?我应该将脚本写入asp:literal吗?想法?

asp.net updatepanel asp.net-ajax

25
推荐指数
2
解决办法
4万
查看次数

停止回显^ C到终端

我怎么告诉我的bash不回应^ C回到终端?

如果我只是在bash会话中按Ctrl + C,则终端窗口中不会打印任何内容.但是如果我用Ctrl + C终止一些程序,有时会在我的终端中回显并打印^ C. 有没有办法告诉我的bash我不想回复^ C?

bash

9
推荐指数
2
解决办法
2597
查看次数

我怎样才能轻松学习CSS?

我正在使用Django框架,并且对使用Python的后端逻辑非常熟悉,但令我困扰的是我必须使用CSS的前端位.如何轻松学习CSS的工作原理,还是可以使用一种工具轻松地为Django创建前端界面?

css django

10
推荐指数
2
解决办法
1809
查看次数

是否有更好的jQuery解决方案this.form.submit();?

我想触发当前元素所在表单的提交事件.我知道的方法有时是:

this.form.submit();
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更好的解决方案,可能使用jQuery,因为我不是100%确定方法适用于每个浏览器.

编辑:

我的情况如下:

<form method="get">
    <p><label>Field Label
        <select onchange="this.form.submit();">
            <option value="blah">Blah</option>
            ....
        </select></label>
    </p>
</form>
Run Code Online (Sandbox Code Playgroud)

我希望能够提交更改表格<select>.

我正在寻找的解决方案适用于任何形式的任何领域,而不知道表单上的ID或名称.$('form:first')并且$('form')不起作用,因为表单可能是页面上的第三个.此外,我已经在网站上使用jQuery,所以使用一些jQuery并不是什么大问题.

那么,有没有办法让jQuery检索输入/ select/textarea所在的表单?

javascript forms jquery submit

44
推荐指数
3
解决办法
12万
查看次数

SQL Server 2005生成的创建表脚本不起作用

我正在为现有数据库创建数据库脚本.我正在尝试使用SQL Server为我生成脚本,但生成的脚本失败了.我正在使用'Script Table As'>'CREATE To'>'New Query Editor Window'选项.然后我更改表和约束名称并执行脚本.我很难过.谁能在这里看到这个问题?

我收到此错误:

Msg 170, Level 15, State 1, Line 17
Line 17: Incorrect syntax near '('.
Run Code Online (Sandbox Code Playgroud)

生成的SQL:

USE [MyDatabase]
GO
/****** Object:  Table [dbo].[MyTable2]    Script Date: 01/06/2009 14:40:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MyTable2](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [u_id] [int] NOT NULL,
    [prog_number] [varchar](5) NOT NULL,
    [trans_id] [varchar](50) NULL,
    [code] [varchar](7) NULL,
    [user_num] [char](9) NULL,
    [is_found] [char](9) NULL,
    [status] [char](1) NULL,
    [status2] …
Run Code Online (Sandbox Code Playgroud)

sql-server

5
推荐指数
2
解决办法
8288
查看次数

VBA参考库

我是VBA的新手,并且一直在为Office提供一个小的宏应用程序.我们在基本相同的PC设置上有大约80个用户,除了少数用户之外,所有用户都可以访问它们.

我一直在使用Web服务引用来自动访问网页,我还将Microsoft Scripting Runtime引用加载到项目中.我试图在测试PC上运行它并抱怨缺少引用.

我不是特别想去80台电脑并手动加载参考资料.

我的问题,基本上,我应该如何管理这个宏应用程序的分布给80多个用户,以确保每次为每个用户加载引用.

谢谢!

vba reference ms-office

6
推荐指数
2
解决办法
1万
查看次数

Blackberry的嵌入式HTML控件?

在你的黑莓应用程序中是否有用于查看html内容的api?要清楚,我并不是说在我的应用程序之上启动浏览器来查看页面.而是在我的应用程序中呈现页面.

html user-interface blackberry custom-controls java-me

5
推荐指数
1
解决办法
6212
查看次数

C#从服务运行Windows窗体应用程序(和在Vista中)

我正在用C#编写一个需要作为服务运行但也有用户交互的应用程序.我知道服务没有UI等,所以我把我的程序分成了一个windows表单应用程序和一个可以相互通信的服务.

我遇到的问题是我需要服务以确保Windows窗体应用程序始终运行并重新启动它,如果不是.我能够检测它是否正在运行,并在Windows 2000/XP上使用以下代码重新启动它:

System.Diagnostics.Process.Start("ExePath");
Run Code Online (Sandbox Code Playgroud)

但是在Vista上,它将新进程作为本地/系统进程运行,对用户来说是不可见的.有人解决这个问题吗?有没有办法检测当前登录的用户并以该用户身份运行新进程?此时我不需要考虑快速用户切换.什么 - 任何东西 - 基本就足够了.

如果您对此主题有任何帮助或提示,我将不胜感激.

我需要澄清一下,我在安装服务时设置了"允许服务与桌面交互"选项.这是它允许它在2000/XP上工作的原因.但是,Vista仍然存在上述问题.

c# windows-services windows-vista winforms

7
推荐指数
1
解决办法
6万
查看次数

帮助函数的命名约定是什么?

在函数式编程中,将任何"循环"代码优化为尾递归通常很重要.尾递归算法通常在两个函数之间分开,但是 - 一个用于设置基本情况,另一个用于实现实际循环.一个好的(尽管是学术的)例子是反向功能.

reverse :: [a] -> [a]
reverse = reverse_helper []

reverse_helper :: [a] -> [a] -> [a]
reverse_helper result [] = result
reverse_helper result (x:xs) = reverse_helper (x:result) xs
Run Code Online (Sandbox Code Playgroud)

"reverse_helper"并不是一个很好的描述性名称.但是,"reverse_recursive_part"只是尴尬.

你会对这样的帮助函数使用什么命名约定?

haskell functional-programming naming-conventions helper-functions

10
推荐指数
4
解决办法
5642
查看次数