PHP If оператор, сравнивающий ввод текста с двумерным массивом?
Мне нужно сделать задачу, где он сравнивает значение массива с введенным значением текста.
Для массива код такой:
<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'); ?>: </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, так что будь проще: с. Благодарю.
Это код, который у меня есть сейчас.
<fieldset><legend style="float:left;"><?php _e('Quantity', 'wpsc'); ?>: </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 ответа
Проверьте документацию для 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";
}
?>
Похоже table_rate_price[1][]
должно быть table_rate_price[1][0]
? Не видя, не видя, как выглядит этот массив, print_r($table_rate_price)
и покажи нам результаты.
Я бы преобразовал значение в int или float перед сравнением, так как все данные поста будут 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;