Искать что-то в списке, и сказать, есть ли или нет - Представить Значение, и сумма количества
добрый день, что это самый простой способ сделать список, который содержит несколько элементов, например мясо, рыба, пао etc, и из váriavel $_GET знать, если продукт существует или нет ? я попытался создать массив и сделать с array_key_exist но мне не удается. спасибо
2
Author: Mario Caeiro, 2016-07-08
2 answers
И так Сделайте так:
$produtos = array(
'Leite' => array(
'preco' => 1.5,
),
'Chocolate' => array(
'preco' => 10,
),
'Pão' => array(
'preco' => 3.5,
),
'Sal' => array(
'preco' => 0.5,
),
);
// EX: aceda a www.seusite.com?produto=Leite&quantidade=5 e depois:
if(isset($_GET['produto'])) {
echo 'Preço por unidade: ' .$produtos[$_GET['produto']]['preco']. '<br>';
if(isset($_GET['quantidade'])) {
echo 'Preço total: ' .$produtos[$_GET['produto']]['preco']*$_GET['quantidade'];
}
else {
echo 'Preço total: ' .$produtos[$_GET['produto']]['preco'];
}
}
else {
echo 'Produto indefinido';
}
1
Author: Miguel, 2016-07-08 17:43:57
, Если хотите сделать в переменной $_GET, можно добавить несколько элементов в одном, индекс параметра GET
.
См.:
url?itens[]=pão&itens[]=leite&itens[]=ovo
В PHP это не вернет:
print_r($_GET['itens']); // ["pão", "leite", "ovo"]
Для url стоять так, espeficada в комментарии, вы должны объявить форму так:
<input type="text" name="itens[]" value="ovo" />
<input type="text" name="itens[]" value="pão" />
Для проверки, достаточно просто сохранить список значений, ожидаемых и сравните так:
$valores = $_GET['itens'];
ksort($valores);
$obrigatorios = ['leite', 'ovo', 'pão']
var_dump($valores === $obrigatorios);
Другой способ сделать проверки с помощью функции array_intersect
:
count(array_intersect($obrigatorios, $valores)) > 0
1
Author: Wallace Maxters, 2016-07-08 17:09:58