0

これは var_dump です。

object(stdClass)#27 (8) { 
    ["SETTING_ID"]=> string(2) "25" 
    ["SETTING_SOURCE"]=> string(2) "XV" 
    ["SETTING_FLEET"]=> string(3) "313" 
    ["SETTING_EXAM"]=> string(1) "A" 
    ["SETTING_HIDE"]=> string(1) "0" 
    ["SETTING_THRESHOLD"]=> string(1) "0" 
    ["SETTING_COUNT"]=> string(8) "POSITIVE" 
    ["SETTING_USAGE"]=> string(7) "MILEAGE" 
} 

私がテストしている変数はSETTING_HIDEです。これは、Code igniter フレームワークを使用して MySQL から取得されています。仕事でかなり長い一日を過ごした後に太っているだけなのか、それとも何なのかはわかりませんが、変数が保持する値に関係なく、ブール値または直接文字列として型キャストされた場合でも、それに対して作成された if ステートメントは true を返します比較、すなわち。== "0" または == "1"。

新鮮な目元ケアをしてくれる人なら誰でもバカにできる!?! :)

明確にするために:

以下を試しました:

if($examSetting->SETTING_HIDE == "1") {  $showOnABC = "checked=\"checked\""; } 
if((bool)$examSetting->SETTING_HIDE) {   $showOnABC = "checked=\"checked\""; }



if($examSetting->SETTING_COUNT == "POSITIVE") further on in my code works perfectly.
4

3 に答える 3

0

変な面倒くさいことの一つだと思うんですけど、

if($examSetting->SETTING_HIDE == "1") {
$showOnABC = "checked=\"checked\"";
} else {
$showOnABC = "";
}

期待どおりに動作するようになりました。

とにかく見てくれてありがとう。

于 2012-12-17T17:02:01.393 に答える
0

参照してください: http://www.laprbass.com/RAY_temp_kaigoh.phpこれにより、ここには別の何か、おそらく別のコード ブロックが関係していると結論付けられます。

<?php // RAY_temp_kaigoh.php
error_reporting(E_ALL);
echo '<pre>';

$thing = new StdClass;
$thing->SETTING_ID        = "25";
$thing->SETTING_SOURCE    = "XV";
$thing->SETTING_FLEET     = "313";
$thing->SETTING_EXAM      = "A";
$thing->SETTING_HIDE      = "0";
$thing->SETTING_THRESHOLD = "0";
$thing->SETTING_COUNT     = "POSITIVE";
$thing->SETTING_USAGE     = "MILEAGE";

var_dump($thing);

if ( $thing->SETTING_HIDE) echo "TRUTHY";
if (!$thing->SETTING_HIDE) echo "FALSY";
于 2012-12-17T17:01:24.010 に答える
0
if($examSetting->SETTING_HIDE !== "0") {  $showOnABC = "checked=\"checked\""; } 

あなたのために働くかもしれません

于 2012-12-17T16:53:53.037 に答える