如何比较两个字符串在php中的相等性?
问题描述:
我想检查“$ 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>
答
您错误地输入了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
什么是你不理解的错误?这非常简单。 – Daan 2014-11-24 09:57:38
为什么人们喜欢这些问题.. – Alternatex 2014-11-24 10:08:11
如果你想描述你正在尝试做什么,那么帮助你会容易得多。根据我的看法,这没有多大意义。 – EternalHour 2014-11-24 10:09:39