我想打印关联数组值
I want to print associative array values
我正在做功课,包括在 php 上对用户和密码进行基本验证。我有一个一维关联数组。我可以在条件为真时打印值,但我不能只打印一个 "else" 因为 "if" 在 foreach
中
php的内容:
<?php
$error = 0;
$mensajeError = "";
$login = array('pepe' => 'pepon', 'maria' => 'mary', 'manolo' => 'manolito');
if (!isset($_POST['user']) || $_POST['user'] == "") {
$error++;
$mensajeError .= "El usuario no puede quedar vacío";
}
if (!isset($_POST['pass']) || $_POST['pass'] == "") {
$error++;
$mensajeError .= "<p>La contraseña no puede quedar vacía</p>";
}
if ($error > 0)
{
echo $mensajeError;
}
else
{
$user = $_POST['user'];
$pass = $_POST['pass'];
foreach ($login as $clave => $valor)
{
if ($user == $clave && $pass == $valor) {
$user = $clave;
$pass = $valor;
echo "Hola " . $user . ", bienvenido a la aplicación";
}
if ($user != $clave && $pass != $valor) {
echo "Usuario y/o contraseña incorrectos";
}
}
}
?>
这个答案专门解释了如何检查 "any" 真值。在这个特定问题的检查单个匹配索引和索引的情况下, 更实用。
使用标志检查是否有任何匹配发生,如果 none 在 foreach
之后则拒绝:
$user = $_POST['user'];
$pass = $_POST['pass'];
$success = False;
foreach ($login as $clave => $valor)
{
if ($user == $clave && $pass == $valor) {
$success = True;
echo "Hola " . $user . ", bienvenido a la aplicación";
}
}
if (!$success) {
echo "Usuario y/o contraseña incorrectos";
}
根本不需要循环,你需要做的就是检查是否有一个包含用户名的数组条目(使用isset()
)并且这个条目具有相同的密码.. .
$user = $_POST['user'];
$pass = $_POST['pass'];
if (isset($login[$user]) && $pass == $login[$user]) {
echo "Hola " . $user . ", bienvenido a la aplicación";
}
else {
echo "Usuario y/o contraseña incorrectos";
}
我正在做功课,包括在 php 上对用户和密码进行基本验证。我有一个一维关联数组。我可以在条件为真时打印值,但我不能只打印一个 "else" 因为 "if" 在 foreach
中php的内容:
<?php
$error = 0;
$mensajeError = "";
$login = array('pepe' => 'pepon', 'maria' => 'mary', 'manolo' => 'manolito');
if (!isset($_POST['user']) || $_POST['user'] == "") {
$error++;
$mensajeError .= "El usuario no puede quedar vacío";
}
if (!isset($_POST['pass']) || $_POST['pass'] == "") {
$error++;
$mensajeError .= "<p>La contraseña no puede quedar vacía</p>";
}
if ($error > 0)
{
echo $mensajeError;
}
else
{
$user = $_POST['user'];
$pass = $_POST['pass'];
foreach ($login as $clave => $valor)
{
if ($user == $clave && $pass == $valor) {
$user = $clave;
$pass = $valor;
echo "Hola " . $user . ", bienvenido a la aplicación";
}
if ($user != $clave && $pass != $valor) {
echo "Usuario y/o contraseña incorrectos";
}
}
}
?>
这个答案专门解释了如何检查 "any" 真值。在这个特定问题的检查单个匹配索引和索引的情况下,
使用标志检查是否有任何匹配发生,如果 none 在 foreach
之后则拒绝:
$user = $_POST['user'];
$pass = $_POST['pass'];
$success = False;
foreach ($login as $clave => $valor)
{
if ($user == $clave && $pass == $valor) {
$success = True;
echo "Hola " . $user . ", bienvenido a la aplicación";
}
}
if (!$success) {
echo "Usuario y/o contraseña incorrectos";
}
根本不需要循环,你需要做的就是检查是否有一个包含用户名的数组条目(使用isset()
)并且这个条目具有相同的密码.. .
$user = $_POST['user'];
$pass = $_POST['pass'];
if (isset($login[$user]) && $pass == $login[$user]) {
echo "Hola " . $user . ", bienvenido a la aplicación";
}
else {
echo "Usuario y/o contraseña incorrectos";
}