isset 相关问题

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

未定义的数组键问题和 isset 不起作用

这是基本问题 `a class="custom-btn custom-btn--small custom-btn--style-4" 这是基本问题 `<li class="li-btn">a class="custom-btn custom-btn--small custom-btn--style-4" <? if ($user == ""){ echo "href=\"xxx://www.example.com/login.php\">Member Login</a>>"; } elseif ($user != ""){ echo "href=\"xxx://www.example.com/mycp.php\">$user</a>>"; } ?></li>`: 工作正常,但抛出一个未定义的数组键:输出: `<li class="li-btn"><a class="custom-btn custom-btn--small custom-btn--style-4" href="xxx://www.example.com/login.php">Member Login</a>></li>` 但是,如果我使用: `if(isset($user) && $user == ''){ echo "href=\"xxx://www.example.com/login.php\">Member Login</a>>";` 整个页面乱了,输出是: <li class="li-btn"> <a class="custom-btn custom-btn--small custom-btn--style-4" </li> 除了很长的空白和格式混乱的页面之外,没有任何输出。 不知道为什么,也无法弄清楚为什么 if ($user == ""){ 有效,为什么不行 if(isset($user) && $user == ''){ 感谢任何想法 使用empty($user) 对未设置值和空值进行更安全、更简洁的检查 `<li class="li-btn">a class="custom-btn custom-btn--small custom-btn--style-4" <? if (empty($user)) { echo "href=\"xxx://www.example.com/login.php\">Member Login</a>>"; } } else { echo "href=\"xxx://www.example.com/mycp.php\">$user</a>>"; } ?></li>`:

回答 1 投票 0

PHP - 使用 isSet() 并检查真值有什么意义?

我今天在我的代码库中看到了这个: if (isset($purchase_data['buyer_tracking_address_id']) && $purchase_data['buyer_tracking_address_id']) { // 做某事 } 为什么要检查两者

回答 1 投票 0

在php中使用@而不是isset

在某些情况下,我可以使用@字符而不是使用较长的isset()函数吗? 如果没有,为什么不呢? 我喜欢用这个,因为在很多情况下我可以节省几个引号,括号......

回答 7 投票 0

在从可能为空的查询结果填充许多 HTML 表单字段时,如果变量为空,则回显默认值 [重复]

我有一个html表单,用于编辑mysql表中的记录。 在编辑的情况下,我使用查询返回的记录的当前值预填充表单,如下所示: 我有一个 html 表单,用于编辑 mysql 表中的记录。 在编辑的情况下,我使用查询返回的记录的当前值预填充表单,如下所示: <INPUT TYPE="text" NAME="SITENAME" SIZE=35 VALUE="<?php echo $customer['sitename']; ?>"> 我想使用相同的表单来创建新记录,但是当然不会为 sql 查询数组分配任何值,因此该表单将不起作用。 我知道我可以为每个输入或单个输入添加 IF 或 ISSET,但随后必须在没有每个 echo 语句的情况下复制表单代码。两者看起来都很麻烦。 有没有更好的方法来使用相同的表单代码? 空合并运算符非常适合这种情况。它基本上是 if(isset()): 的简写 你正在考虑做这样的事情: if (isset($customer['sitename'])) { echo $customer['sitename']; } else { echo $someDefaultValue; } 这可以缩短为: echo $customer['sitename'] ?? $someDefaultValue; 既然你在默认情况下什么都不想要,你可以只使用 null: echo $customer['sitename'] ?? null; 即,如果有现有的站点名称,则输出它,否则什么也不输出。请注意,如果您所做的只是 echo,则可以使用简短的打开语法,因此您的代码将变为: <INPUT TYPE="text" NAME="SITENAME" SIZE=35 VALUE="<?= $customer['sitename'] ?? null; ?>"> 我认为最紧凑的方式是: value="<?php echo $customer['sitename'] ?? ''; ?>" 此外,您应该清理该值,它可能包含有害字符,例如": value="<?php echo htmlspecialchars($customer['sitename'] ?? ''); ?>"

回答 2 投票 0

isset 可以与 CodeIgniter 的 get 方法一起使用吗?

使用 CodeIgniter 我试图查看 URL 中的“ID”是否是“uID”(用户 ID)或“sID”(系统 ID)。 我正在使用的代码是: if(isset($this->input->get('uID'))) { $getID = $this-inp...

回答 2 投票 0

如何在 PHP/HTML 中退出并显示错误消息?

我正在检查是否使用 isset 设置了特定值。我想退出脚本并显示一条错误消息,例如“未找到名称,请输入有效名称”。目前我正在这样检查...

回答 3 投票 0

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

是否有一种简洁的方法来检查变量是否已设置,然后回显它而不重复相同的变量名称? 而不是这个: 变量)){ 回声' 是否有一种简洁的方法来检查变量是否已设置,然后回显它而不重复相同的变量名称? 而不是这个: <?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

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