PHP If语句将文本输入与2D数组进行比较?

时间:2015-01-31 00:27:32

标签: php html arrays wordpress wordpress-ecommerce

我需要创建一个任务,将数组值与输入的文本值进行比较。

对于数组,代码是:

<div class="wpsc-quantity-discounts">
        <table>
            <thead>
                <tr>
                    <th class="qty" colspan="2">Quantity:</th>
                    <th class="curr"><span class="hidden">Currency:<span></th>
                    <th class="price">Price:</th>
                </tr>
            </thead>
            <tbody>
                                                <tr>
                                <td class="remove"><a href="#" class="remove_line dashicons dashicons-dismiss"></a></td>
                                <td class="qty">
                                    <input type="text" size="5" value="500"/*this value*/ name="table_rate_price[quantity][]" />
                                    +                                   </td>
                                <td class="curr">USD $</td>
                                <td><input class="newCurrPrice text" value="0.48" name="table_rate_price[table_price][]" /></td>

它已包含我需要的变量。我需要将第一列与单个产品页面中的输入文本进行比较。

                            <?php if(wpsc_has_multi_adding()): ?>
                            <fieldset><legend style="float:left;"><?php _e('Quantity', 'wpsc'); ?>: &nbsp;</legend>
                            <div class="wpsc_quantity_update">
                            <input type="text" id="wpsc_quantity_update_<?php echo wpsc_the_product_id(); ?>" name="wpsc_quantity_update" size="2" value="500"/*This value*/ />
                            <input type="hidden" name="key" value="<?php echo wpsc_the_cart_item_key(); ?>"/>
                            <input type="hidden" name="wpsc_update_quantity" value="true" />
                            </div><!--close wpsc_quantity_update-->
                            </fieldset>

我需要创建一个if语句,如果输入的文本小于第一列的数组,则返回false。如果有人有一个令人敬畏的建议。我在php中仍然是一个菜鸟,所以很容易:p。感谢。

这是我现在的代码。

<fieldset><legend style="float:left;"><?php _e('Quantity', 'wpsc'); ?>: &nbsp;</legend>
							<div class="wpsc_quantity_update">
							<input type="text" id="wpsc_quantity_update_<?php echo wpsc_the_product_id(); ?>" name="wpsc_quantity_update" size="2" value="500" />
							<input type="hidden" name="key" value="<?php echo wpsc_the_cart_item_key(); ?>"/>
							
                            </div><!--close wpsc_quantity_update-->
                            
                            <php? if ( table_rate_price[1][0] > wpsc_quantity_update(value)): />
 							<return <input type="hidden" name="wpsc_update_quantity" value="false" />
					<?php else: ?>\
						return <input type="hidden" name="wpsc_update_quantity" value="true" />; 
                            </fieldset>

2 个答案:

答案 0 :(得分:0)

检查in_array的文档我相信这就是你要找的东西。

以下是一个可以帮助您入门的代码:

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
    echo "Got Irix";
}
if (in_array("mac", $os)) {
    echo "Got mac";
}
?>

答案 1 :(得分:0)

table_rate_price[1][]看起来应该是table_rate_price[1][0]?如果看不到该数组的外观,就无法分辨,执行print_r($table_rate_price)并向我们展示结果。

我会在比较之前将值转换为int或float,因为所有的post数据都是String。我假设wpsc_quantity_update()返回$ _POST ['wpsc_quantity_update']值。

floatval() *小数,如0.48,3.14,......

intval *整数1,2,3 ......

if ( table_rate_price[1][0] < floatval(wpsc_quantity_update())) {
  return false;
}
return true;