2014-11-24 102 views
-1

我想檢查「$ v」和「$ formats2」的相等性。但它給和錯誤消息如何比較兩個字符串在php中的相等性?

警告:的strcmp()預計參數2爲字符串,陣列中的C中給出:\ XAMPP \ htdocs中\ playit2 \ product.php行312

這裏是我的HTML代碼。

$jsqla = mysql_query("select * from products where id='$product_id'") or die(mysql_error()); 

$jfeta = mysql_fetch_assoc($jsqla); 

$formats = explode(";", $jfeta['formats']); 

$jsqla2 = mysql_query("select formats from request_list where id='$product_id'") or die(mysql_error()); 

$jfeta2 = mysql_fetch_assoc($jsqla2); 

$formats2 = explode(";", $jfeta2['formats']); 

<div class=""> 
    <?php if($formats2 != "") { ?> 
     <?php foreach($formats as $v){ ?> 
      <label style="line-height: 1.25em;display: block;width: 100px;margin-right: 10px;float: left;">       
       <div id="format-id_<?php echo $v?>" <?php if (strcmp($v, $formats2) === 0) { ?> style="border: 1px solid;border-radius: 9px;text-align: center;padding-top: 10px;padding-bottom:10px;padding-left: 3px;padding-right: 3px;border-color: #cccccc;font-family: 'SSemibold'; font-size: 13px; color: #44b7da; background-color: #cccccc;" <?php } else { ?> style="border: 1px solid;border-radius: 9px;text-align: center;padding-top: 10px;padding-bottom:10px;padding-left: 3px;padding-right: 3px;border-color: #cccccc;font-family: 'SSemibold'; font-size: 13px; color: #44b7da;" <?php } ?>>         
        <input class="format_cheks" type="radio" value="<?php echo $v; ?>" name="abc" style="visibility:hidden;" id="<?php echo $v ?>" onClick="changeColour(this)"/> 
         <span style="margin:-17px auto auto 0px;display:block;"><?php echo $v; ?></span>        
       </div>      
      </label> 
     <?php } ?> 
    <?php } else { ?> 
     <?php foreach($formats as $v){ ?> 
      <label style="line-height: 1.25em;display: block;width: 100px;margin-right: 10px;float: left;">       
       <div id="format-id_<?php echo $v?>" style="border: 1px solid;border-radius: 9px;text-align: center;padding-top: 10px;padding-bottom:10px;padding-left: 3px;padding-right: 3px;border-color: #cccccc;font-family: 'SSemibold'; font-size: 13px; color: #44b7da;">         
        <input class="format_cheks" type="radio" value="<?php echo $v; ?>" name="abc" style="visibility:hidden;" id="<?php echo $v ?>" onClick="changeColour(this)"/> 
         <span style="margin:-17px auto auto 0px;display:block;"><?php echo $v; ?></span>        
       </div>      
      </label> 
     <?php } ?> 
    <?php } ?> 
</div> 
+3

什麼是你不理解的錯誤?這非常簡單。 – Daan 2014-11-24 09:57:38

+0

爲什麼人們喜歡這些問題.. – Alternatex 2014-11-24 10:08:11

+1

如果你想描述你正在嘗試做什麼,那麼幫助你會容易得多。根據我的看法,這沒有多大意義。 – EternalHour 2014-11-24 10:09:39

回答

2
You also use 
if($val1 === $val2){ 
    //true part . this === strictly check 
} 
+0

非常感謝。它的工作。 – Sudda 2014-11-25 05:13:27

+0

你歡迎..... @蘇達 – Affan 2014-11-25 05:23:41

3

您錯誤地輸入了implode作爲explode。後者接受一個字符串併產生一個數組。你可能想要相反。 UPD:哦,你已經有一個字符串。然後簡單地使用它:

- $formats2 = explode(";", $jfeta2['formats']); 
+ $formats2 = $jfeta2['formats']; 

希望它有幫助。

+0

雖然我不這麼認爲,因爲它已經是一個字符串了。 – EternalHour 2014-11-24 10:11:14

+0

@EternalHour哦,是的,謝謝。更新。 – mudasobwa 2014-11-24 10:19:38

1

你應該通過keyexplode它將包含一個數組。

strcmp($v, $formats2[key]) 

explode()