问题标签 [isset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
17 回答
148237 浏览

php - 在 PHP 中测试变量是否存在的最佳方法;isset() 明显坏了

isset()文档

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

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

@有必要避免$v未设置时的警告)但is_null()有类似的问题isset():它返回未设置的TRUE变量!还可以看出:

工作原理完全一样@is_null($v),所以也出来了。

我们应该如何可靠地检查 PHP 中变量的存在?


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

PHP表明$a['b']存在,并且具有NULL价值。如果添加:

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


进一步编辑:两件事。

一,用例。将数组转换为 SQLUPDATE语句的数据,其中数组的键是表的列,数组的值是要应用于每一列的值。表的任何列都可以保存一个值,通过在数组中NULL传递一个值来表示。NULL需要一种方法来区分不存在的数组键和数组的值设置为NULL; 这就是不更新列的值和将列的值更新为NULL.

其次,对于我的上述用例和任何全局变量, Zoredache 的答案都可以正常工作:array_key_exists()

输出:

由于这可以正确处理几乎所有我可以看到不存在的变量和设置为的变量之间存在任何歧义,因此NULL调用array_key_exists()PHP 中最简单的官方方法来真正检查变量的存在

(我能想到的唯一其他情况是类属性,property_exists()根据它的文档,它的工作原理与它类似array_key_exists(),因为它正确区分了未设置和设置为NULL。)

0 投票
2 回答
1832 浏览

php - Creating an isset if function using php to avoid and update if the input is empty for a MYSQL update

Hi I am newish to php and I have created an update page for Content Management System. I have a file upload in this case a picture. I have other inputs that contain text and I can get them to populate my form and thats fine and works great because the user can see what has already been entered. But the file name for the photo can not have a value so if the user doesn't pick the picture from the directory again it will update minus the picture. What I think I need is a isset function that says if the file (picture) input is left blank don't update this field and use whatever what already in the database for it, that way if it was left blank when created it will still be, and if the user has changed it this time it will change; or if they want to leave it the same it won't leave their picture blank. Hope that makes sence.

Here is my coding currently for the Form:

Below is my php code for my update if the update button is pressed:

If you could help I would be very please and greatful.

0 投票
5 回答
3942 浏览

php - PHP/HTML - isset 函数

我对 PHP 还很陌生,正在为我的公司创建一个网站。我正在使用一些我已经获得但似乎无法使其正常工作的现有代码 - 任何帮助将不胜感激!

我有一个变量$id,它标识要在页面上显示的产品类别类型。我首先需要检查 id 变量是否已设置,如果没有,则将变量默认为类别 0。

我的代码如下:

因此,对于地址 www.website.com/browse.php,我希望它默认为 $id=0; 地址为 www.website.com/browse.php?id=3,我希望它将 $id 设置为 3 并显示相关产品。但是,尽管设置了 $id,它仍然默认为 0。我的代码有什么明显不正确的地方吗?

0 投票
5 回答
3519 浏览

php - php isset 你需要在表单检查中使用它吗?

当我检查 $_REQUEST["input_name"] 如果没有传递任何值时,我试图了解在表单处理期间是否需要 isset不存在的数组项....我可以使用 if($_REQUEST["input_name"]).. 即使在这些情况下我可以使用 if()

谢谢

0 投票
5 回答
2701 浏览

php - 有什么更好的, isset 与否?

速度有区别吗

或者

哪个更好或者它们是一样的?

0 投票
7 回答
37283 浏览

c# - 如何判断变量是否已在 C# 中初始化?

我知道这是一个愚蠢的问题,我想之前一定有人问过。但是我无法找到我的问题的答案。

这是一些示例代码(当然不能编译)来概述我的问题:

我遇到的问题在以下行:

这是来自 VB 的语法,这当然不是 C# 编译器所接受的。有人可以告诉我如何解决这个问题吗?

0 投票
19 回答
125668 浏览

php - 我应该在哪里使用 isset() 和 !empty()

我在某处读到该isset()函数将空字符串视为TRUE,因此isset()不是从 HTML 表单验证文本输入和文本框的有效方法。

因此,您可以使用它empty()来检查用户是否输入了某些内容。

  1. isset()函数是否将空字符串视为TRUE

  2. 那我应该在哪些情况下使用isset()?我应该总是!empty()用来检查是否有东西吗?

例如,而不是

使用这个

0 投票
2 回答
11514 浏览

php - 除了empty()之外,我如何使用PHP的isset()?

我将如何添加 isset() 并在下面的代码中保留 empty()?

更新:

我只是想确保 php 不会产生任何通知或警告

0 投票
7 回答
3991 浏览

php - Check whether an array is empty without using a loop?

Is there any function available in PHP to check whether an array is empty or how can I do this without using loop?

For example: $b = array('key1' => '', 'key2' => '', 'key3' => '', 'key4' => '');

How can I check array $b contains empty values without using a loop?

0 投票
1 回答
520 浏览

php - 使用 PHP 检查 MySQL INSERT QUERY 中变量存在的简洁方法

我正在编写一个 PHP 脚本来将项目添加到购物篮。我的购物篮表有用户 ID、产品 ID、会话 ID、注释和其他一些字段。某些字段可以为空。例如:

如果有人没有登录,那么我会将他们的会话 ID 存储在表中,如果他们登录,则添加他们的用户 ID,这样我就有一种永久的方式将表中的项目与用户匹配。如果是,我将添加用户 ID。当涉及到 INSERT 查询时,我可以这样做:

$add_sql = "插入 sessionBasket (userid) VALUES ('".isset($_SESSION["userid"]) ? $_SESSION["userid"] : "") ."'";

它可以为我节省大量变量检查和分支的时间,因为人们可以登录或不登录,项目可以有或没有注释,诸如此类。