更改 php 中的布尔值

发布于 2024-12-12 09:27:55 字数 182 浏览 0 评论 0原文

我有一堆来自复选框的布尔值。我想做的就是如果它们为 1,则将它们设置为 yes;如果它们为 0,则将它们设置为 no。

我的代码失败了,对我来说看起来没问题吗?

$item =  $form_state['values']['item1'] == 1 ? 'Yes' : 'No';

I have a bunch of values from checkboxes that are boolean. Al I want to do is set them to yes if they are 1 and no if they are 0.

My code fails, looks ok to me?

$item =  $form_state['values']['item1'] == 1 ? 'Yes' : 'No';

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

傾城如夢未必闌珊 2024-12-19 09:27:55

如果您的复选框的值属性等于1,那么应该没问题:

<input ... type="checkbox" value="1" />

如果您尚未设置这些值,或者在所有情况下您只需检查它们是否存在于$_GET 或 $_POST 数组(假设 $form_state 是从那里获取的):

$item = isset($form_state['values']['item1']) ? 'Yes' : 'No';

上面的示例应该适合您。请记住,如果根本没有选择单选按钮和复选框,则不会在 $_GET$_POST 中设置它们,这也可能会生成通知< /em> 或警告,如果尝试访问不存在的索引。

在旧版本的 php 中,您可能需要使用 $_REQUEST

If your checkboxes have value attribute equal to 1, it should be OK:

<input ... type="checkbox" value="1" />

If you have not set these values or in all the cases you may just check, if they exists in $_GET or $_POST array (assuming $form_state is taken from there):

$item = isset($form_state['values']['item1']) ? 'Yes' : 'No';

The above example, should works for you. Keep in mind radio buttons and check boxes will not be set in $_GET or $_POST if they are not selected, at all, which also may generate Notice or Warning, if trying to access non-existing index.

In older versions of php you might need to use $_REQUEST.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文