我正在尝试保存复选框值..我正在使用复选框表格进行注册系统.它的功能是知道学生是否通过了要求,因此我将其分配为布尔类型.如果已检查,则必须保留" 1"的值,如果未选中,则必须保存" 0". 错误是: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '')' at line 2 ,如果我取消选中的要求之一,这就是发生的事情: Notice: Undefined index: brigada_form in C:\xampp2\htdocs\es\add_newstud.php on line 12 Notice: Undefined index: two_picture in C:\xampp2\htdocs\es\add_newstud.php on
以下是关于 boolean 的编程技术问答
非常感谢您的阅读和响应. 在一个函数中,我测试条件并制作一个字符串" true"或" false",然后我将制作一个全局变量. 然后我将另一个字符串的另一个函数称为参数 在该函数的if语句中,我想基于" true"或" false" 的字符串值测试 $email_form_comments = $_POST['comments']; // pull post data from form if ($email_form_comments) $comments_status = true; // test if $email_form_comments is instantiated. If so, $comments_status is set to true else $error = true; // if not, error set to true. test_another_condition($comments_status); // pass $c
我正在尝试打印以下语句: print false . "\n" . true . "\n"; echo false . (bool)false . "\n" . true . "\n"; print "0" . "\n" . true . "\n"; 我得到的结果只是" 1 1 0 1". 预期的结果是: 0 1 0 1 0 1 我正在使用PHP 5.4.3 MSVC9 X64 有人可以解释为什么以及如何以正确的方式打印它吗? 解决方案 这应该解决问题.使用阵列. $boolarray = Array(false => 'false', true => 'true'); echo $boolarray[false]," ", $boolarray[true]; 输出:false true 其他解决方案 您的问题来自您对PHP字符串的+操作员的误解.字符串串联运算符是.,因为PHP键入了php,它不知道您要concat或添加字符串
我有代码的这一小部分: $company = array('relation' => $_SESSION['username']); $companyresponse = $wcfclient->GetCompany($company); foreach ($companyresponse->GetCompanyResult as $key => $value){ echo $value[0]; //This is the name of the company if ($value[1] == TRUE){ echo "Company blocked"; } elseif($value[1] == FALSE){ echo "Company NOT blocked"; } echo $value[1]; //This gives me the correct result, in this ca
我不敢相信以下语句仍然是正确的 So, I switched to integers and 0 or 1 works fine, but it is stupid, that the database system has boolean variables of a smaller size, but I should use integers for boolean values! 如何将布尔数据类型与Postgres/php? 使用 换句话说, 是true 1使用1的唯一方法,而为false使用1个布尔数据类型? 解决方案 使用1和0是表示布尔值的非常明智且可移植的方法. INT和本地布尔类型之间的大小和本地布尔类型的任何差异实际上将使您的应用程序的性能或数据库的KB大小几乎没有什么区别.
当我投射到布尔(使用(bool))时,是否会内置有php来真正返回常数true或false.目前,我得到了1或空白,分别对真实和错误进行评估. 我希望返回的值以获得更清晰的语义.但是,如果我不能得到它,我将与1和空白定居. 解决方案 php在输出时将布尔值显示为1(true)或空字符串(false). 如果要检查它是true或false使用==(如果隐式转换是可以的)或===(如果不是).例如: echo $val ? 'true' : 'false'; // implicit conversion echo $val === true ? 'true' : 'false'; // no conversion 我不知道将php输出布尔值本地化为true或false. . 其他解决方案 如果您懒得进行比较,并且echo字符串,或者如果您只想简短,则可以使用: var_export($boolean, true); // the second par
应该如何在php中写下以下布尔表达式: $foo = ""; if($var==TRUE){ $foo = "bar"; } 或 if($var==TRUE){ $foo = "bar"; }else{ $foo = ""; } 或 $foo = ($var==TRUE) ? "bar": ""; 解决方案 首先,true不是一个常数,它是一个令牌,所以请不要对其进行大写(我知道有些标准这样做,但我认为它会混淆含义)... 第二,您不需要冗余$var == true if内部的比较.它与if ($var) {完全相同(对于双==比较.相同的比较===需要明确). 第三,我更喜欢初始化.所以: $foo = ''; if ($var) { $foo = 'one status'; } else { $foo = 'another status'; } 如果您不需要其他分支,请删除它.我更喜欢原始化
这不是很重要,但是我很想知道区别. echo isA("A"); //outputs 1 echo isA("B"); //outputs nothing. why doesn't it output 0? 任何人都可以在此问题上散发出来的话吗?从我看来,当您从" true"输出为" 1"但" false"不输出" 0". 再次没什么大不了的,但我认为必须有这样的设计理由.知道这可能会给这种美丽的语言提供更多的见解. 真实值将表现为可见的1,但是错误的值不会.那么,告诉我这种方法的优势是什么? 示例函数我在上面引用; function isA($input){ if ( $input == "A" ): return true; else: return false; endif; } 解决方案 布尔真值被转换为字符串" 1".布尔值是 转换为""(空字符串).这允许转换和 布尔值和
我想知道下面的两个情况有什么区别,建议使用哪种? $val = 0; if (!$val) { //True } if (empty($val) { //It's also True } 解决方案 请看一下 PHP类型比较表. 如果您检查了表,您会注意到在所有情况下,empty($x)与!$x相同.因此,这取决于处理非初始化的变量. !$x创建E_NOTICE,而empty($x)则不会. 其他解决方案 如果您使用空的,并且永远不会设置/创建变量,则不会抛出任何警告/错误. 其他解决方案 让我们看: empty文档: 以下内容被认为是empty: ""(一个空字符串) 0(0作为整数) 0(0作为浮点) "0"(0作为字符串) NULL FALSE array()(一个空数组) var $var;(已声明的变量,但在类中没有值) 布尔值文档: 转换为布尔值时,考虑以下值FALSE: 布尔FALSE
有人可以向我解释为什么这样做: var_dump((bool) 1==2); 返回 bool(true) 但是 var_dump(1==2); 返回 bool(false) 当然第二个返回是正确的,但是为什么首先,PHP返回出乎意料的值? 解决方案 实际上并不那么奇怪. (bool)的优先级高于==> ,所以/p> var_dump((bool) 1==2); 等效于此: var_dump( ((bool) 1) == 2); 或以下: var_dump(true == 2); 由于 type juggling 2也从本质上也被铸造为bool(因为这是一个"松散的比较"),因此相当于: var_dump(true == true); 或以下: var_dump(true); 其他解决方案 因为在第一个示例中,演员表是在比较之前进行的.所以好像你写了 ((bool) 1)==2
是否有用于PHP的内置功能可以占用布尔值并返回其整数等效物? 0对于false,1为true? 当然,您可以轻松地创建一个函数来实现,我只是在询问PHP内部是否有内置功能.我已经尝试了intval()并将其施放到(int)中,但它们没有起作用,在两个情况下它们都返回0. 编辑:问题在于它不是一个布尔人,它是一个字符串" false"," true",PHP没有检测到它通过了布尔值的JQuery帖子.解决问题,谢谢! 解决方案 /en/language.types.integer.php $myInt = (int)$myBoolean应该工作 其他解决方案 只需在这样的变量之前添加一个"+": $myBool = true; var_dump(+$myBool); ouputs: int(1); 其他解决方案 // cast to Integer echo (int)true; // 1 echo (int)false;
在PHP中,是 if(!$foo) 等效于 if($foo != true) 或 if($foo !== true) 还是两者都完全不同? 解决方案 if(!$foo) 等效于 if($foo != true) so $foo = null; if(!$foo){ echo "asd"; } 将ouptut" asd" 其他解决方案 请注意, ==或!=比较平等的变量值,必要的类型铸造. ===或!==检查两个变量是否具有相同的类型并且具有相同的值. 这个答案将为您更好地解释这个概念: 其他解决方案 $ a!= $ b true如果$ a在类型的杂耍后不等于$ b. $ a!== $ b true如果$ a不等于$ b,或者它们不同等类型. 请参阅 php中的jugggling in php 有关类型的更多信息杂耍. 来源:php.net
我具有一个验证功能,如果验证通过,我想返回true,或者如果验证失败,则需要返回错误.但是,当我检查函数是否返回true时,即使返回值是数组,它也会返回true.为什么是这样?作为我的意思的另一个例子: $array = ['test' => 'test']; if ($array == true) { echo 'true'; } ,我也尝试使用一个字符串: $string = 'string'; if ($string == true) { echo 'true'; } 和两个都回荡了. 为什么?如果我们可以做到这一点,那么为什么我们需要isset()函数? 解决方案 这是手册中记录的预期行为 http://php. NET/MANUAL/en types.comparisons.php Expression gettype() empty() is_null() isset() boo
我想知道是否可以将两个操作员(或和)组合在一个if语句中. if($apple==1 && $orange==2 || cake==0) 我想说的是:如果苹果等于1,而橙色等于2,或者蛋糕等于0,则执行此操作.换句话说,我需要苹果和橙色等于上述数字或等于0的蛋糕. 这个表达正确吗?如果没有,最简单的方法是什么? 谢谢. 解决方案 您应该使用内括号进行优先. 原因是..括号内包裹的第一个条件将被评估为块 正如其他用户提到的,&&对||的优先级较高,因此括号不需要,但是说如果您的语句像这样. if($apple==1 || $orange==2 && cake==0) 然后您需要继续.. if(($apple==1 || $orange==2) && cake==0) Sidenote:始终是使用Paranthess的好习惯... 其他解决方案 表达式 $apple==1 && $orange==2 || $cak
使用PHP后,我发现True被返回为1,false为null. echo (5 == 5) // displays 1 echo (5 == 4) // displays nothing 编写返回真或错误的功能时,使用它们的最佳实践是什么? 例如, function IsValidInput($input) { if ($input...) { return true; } else { return false; } } 这是使用该功能的最佳方法吗? if (IsValidInput($input)) { ... } 您将如何编写相反的函数? IsBadInput($input) { return ! IsValidInput($input); } 您什么时候使用===操作员? 解决方案 使用PHP后,我发现True被返回为1,false为null. 那不是真的(没有双关语).与许多
我正在构建具有私人成员函数的PHP类,该类别返回字符串值,例如: 'true && true || false' 到公共会员功能. (该字符串是某些正则匹配和属性查找的结果.)我想做的是让PHP解析返回的逻辑,并具有上述公共函数返回,无论解析逻辑的布尔结果是True还是False. 我尝试了eval(),但是我根本没有输出.我尝试打字布尔回报...但是没有办法打字运营商...呵呵吗? (让我知道您是否需要更多信息.) 解决方案 只是偶然发现了这个问题,但是对使用eval非常不安,我决定继续寻找更好的解决方案. 我发现的是PHP的 filter_var filter_var 函数,当传递FILTER_VALIDATE_BOOLEAN flag(其中有很多). 此"一行"功能似乎可以安全地在上可以安全地将字符串(或其他)对象转换为布尔值: