isset 相关问题

确定变量是否已设置且不为NULL

检查变量是否已设置,然后回显而不重复?

是否有一种简洁的方法来检查变量是否已设置,然后回显它而不重复相同的变量名称? 而不是这个: 变量)){ 回声' 是否有一种简洁的方法来检查变量是否已设置,然后回显它而不重复相同的变量名称? 而不是这个: <?php if(!empty($this->variable)) { echo '<a href="', $this->variable, '">Link</a>'; } ?> 我正在思考这个 C 风格伪代码中的一些内容: <?php echo if(!empty($this->variable, '<a href="', %s, '">Link</a>')); ?> PHP 有 sprintf,但它并没有完全达到我的期望。如果我当然可以用它制作一个方法/函数,但肯定有一种方法可以“本地”完成它? 更新: 三元运算也会重复$this->variable部分,如果我理解的话? echo (!empty($this->variable) ? '<a href="',$this->variable,'">Link</a> : "nothing"); 最接近您要查找的内容的是使用三元运算符的缩写形式(自 PHP5.3 起可用) echo $a ?: "not set"; // will print $a if $a evaluates to `true` or "not set" if not 但这会触发“未定义变量”通知。您可以使用 @ 明显抑制它 echo @$a ?: "not set"; 仍然不是最优雅/干净的解决方案。 因此,您可以期望的最干净的代码是 echo isset($a) ? $a: ''; 更新: PHP 7 引入了一个新功能:空合并运算符 这是来自 php.net 的示例。 <?php // Fetches the value of $_GET['user'] and returns 'nobody' // if it does not exist. $username = $_GET['user'] ?? 'nobody'; // This is equivalent to: $username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; // Coalescing can be chained: this will return the first // defined value out of $_GET['user'], $_POST['user'], and // 'nobody'. $username = $_GET['user'] ?? $_POST['user'] ?? 'nobody'; ?> 对于那些还没有使用 PHP7 的人,这是我原来的答案... 我用一个小函数来实现这个: function ifset(&$var, $else = '') { return isset($var) && $var ? $var : $else; } 示例: $a = 'potato'; echo ifset($a); // outputs 'potato' echo ifset($a, 'carrot'); // outputs 'potato' echo ifset($b); // outputs nothing echo ifset($b, 'carrot'); // outputs 'carrot' 警告:正如 Inigo 在下面的评论中指出的那样,使用此函数的一个不良副作用是它可以修改您正在检查的对象/数组。例如: $fruits = new stdClass; $fruits->lemon = 'sour'; echo ifset($fruits->peach); var_dump($fruits); 将输出: (object) array( 'lemon' => 'sour', 'peach' => NULL, ) PHP 没有内置函数。 但如果您使用 Laravel,您可以在刀片模板中使用一个方便的快捷方式: <div>{{ $myvar ?? 'N/A' }}</div> 其中$myvar存在时显示,否则设置使用默认值(此处定义为'N/A') 像这样使用 php 的 isset 函数: <?php echo $result = isset($this->variable) ? $this->variable : "variable not set"; ?> 我认为这会有所帮助。

回答 4 投票 0

Codeigniter - 调用

我正在尝试运行这个 PHP 脚本以从 Web 服务获取一些数据,它完美地工作了 50~120 次,但随后它抛出了这个异常。 这是我的控制器: /* $dataArray = 数组( * ...

回答 6 投票 0

多个变量未设置时设置为相同

以下是否有简写: $a??=[]; # 注意:$a ??= [] 等价于 $a = isset($a) ? $一:[] $b ??= []; #... $z??=[]; 一种可能的解决方案是: foreach (数组("a", &q...

回答 1 投票 0

如何检查 $_GET 参数是否存在但没有值?

我想检查 URL 中是否存在 app 参数,但没有值。 例子: my_url.php?app 我尝试了isset()和empty(),但不起作用。我以前见过它是怎么做的,但我忘记了。

回答 4 投票 0

在 PHP 中,是否可以复制 isset() 抑制其参数中未定义变量的警告的方式?

使用 isset() 函数,您可以将未定义的变量传递给其参数,而不会收到警告。我想知道,是否可以以某种方式复制此功能? 例如,我三...

回答 1 投票 0

PHP 中的 'isset()' 和 '!empty()' 有什么区别?

我不明白isset()和!empty()之间的区别。 因为如果设置了一个变量,那不就等于不为空了吗?

回答 8 投票 0

PHP Cookie 在 Brave 中实际删除之前并不存在

首先,我使用 PHP 设置一个新的 cookie 并检查它是否存在。之后,我通过将到期日期设置为过去来删除它,并再次检查它是否成功。

回答 1 投票 0

从 php 7 更新到 php 8 后代码无法工作[已关闭]

所以我多年来一直致力于这个托管游戏服务器的项目,这个按钮应该生成一个 ID 号并从文本框中获取值,然后将它们保存在 .json 数据库中。 最近我...

回答 1 投票 0

如何检查PHP中是否设置了环境变量?

在PHP中,如何测试环境变量是否设置?我想要这样的行为: // 假设 MYVAR 尚未定义。 伊塞特(MYVAR); // 返回假 putenv("MYVAR=foobar"); 伊塞特(MYV...

回答 4 投票 0

按钮未通过 isset() 函数调用

我在尝试构建一个非常简单的库存管理系统时遇到了一些麻烦。 我正在做的是在 html 表中显示数据库中的数据,并在每一行中创建两个按钮:一个用于编辑...

回答 2 投票 0

PHP - 变量已设置但使用 isset 返回 false?

PHP 中非常基本的问题 - 我已将变量设置为 null,为什么结果为 false? $a = 空; var_dump(isset($a)); // 错误的 如果 isset 不是 t,我如何检查变量是否已设置...

回答 3 投票 0

如何修复验证码 php 文件中的此错误

我收到以下错误消息: 致命错误:无法对表达式的结果使用 isset()(您可以使用“null !== expression”代替) 它引用的代码是这样的 $数据['...

回答 1 投票 0

是否可以基于PHP $变量在表中仅显示一个JSON对象?

我有一个表,使用 foreach() 显示数组中的每个对象。我想要一个搜索栏,可以过滤表格,仅显示一个对象及其信息。我...

回答 1 投票 0

使用 if(isset($_POST['submit'])) 在脚本打开时不显示回显不起作用

我的 if(isset($_POST['submit'])) 代码有一点问题。我想要的是一些回声和一个表格,当脚本打开时不会出现,但我确实希望它在提交按钮时显示...

回答 9 投票 0

从数组构建数组时:IF array key is SET, INCREMENT else SET to 1

嗨,我尝试了很多解决方案,但找不到我想要的。我正在从许多其他数组构建一个数组,我可以这样做: isset($setinc)? $setinc++ : $setinc=1; 然而...

回答 1 投票 0

if(isset($_POST['spara'])){ 数据库中的新行不会被创建[关闭]

我不是要求快速修复我是一个新手程序员我已经搜索了互联网我只是找不到问题。 我正在尝试获取要发布到数据库中的表单详细信息。变量是正确的...

回答 0 投票 0

PHP 错误:未加括号的 `a ?乙:丙? d : e` 已弃用。使用 `(a ? b : c) ? d : e` 或 `a ? b : (c ? d : e)` [重复]

我正在将 PHP 7.4 用于 Laravel 应用程序,并且我经常收到此异常。 错误异常(E_DEPRECATED) 未加括号的 `a ?乙:丙? d : e` 已弃用。使用 `(a ? b : c...

回答 3 投票 0

检查提交时$_FILES变量是否为空,例如:variableIsEmpty($_FILES["icon"])

我想在提交表单时检查$_FILES变量是否为空:我试过这样:if(!isset($_FILES["icon"])){ echo "Empty File"; #code to assign default icon here } also ...

回答 1 投票 0

"";

回答 2 投票 77


© www.soinside.com 2019 - 2024. All rights reserved.