Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.
Estou com o seguinte problema. Vou fazer um exemplo.
<?php
$array = array(
"primeiro" => array(
"a" => "irra",
"b" => "irru"
),
"segundo" => array(
"a" => "irri",
"b" => "irra"
)
);
Foreach ($array as $indice => $valor){
echo "a => ".$valor["a"];
echo " - ";
echo "b => ".$valor["b"];
echo "<br>";
if ($valor["a"] == $proximoValorArray["b"])
echo "o 'a' de agora é igual ao 'b' do próximo";
}
?>
Preciso saber qual o valor da próxima posição do array.
Alguém sabe como fazer?
Valeu.
ja pensou em usar next();?
Então, tentei utilizar o next();Mas não funcionou.
Acho que não fiz corretamente.
Foreach ($array as $indice => $valor){
echo "a => ".$valor["a"];
echo " - ";
echo "b => ".$valor["b"];
echo "<br>";
$proximo = next($array);
if ($proximo["b"] == $valor["a"])
echo "ai sim hein";
}
É assim?
Valeu.
Precisa necessariamente usar a chave do array como primeiro, segundo?
Tenta assim:
<?php
$array = array();
array_push($array, array('a' => 'a1', 'b' => 'b1'));
array_push($array, array('a' => 'a2', 'b' => 'b2'));
for ($i=0; $i<count($array); $i++)
{
echo $array[$i]['a']."<br>";
echo "Próximo: {$array[$i+1]['a']}<br><br>";
}
?>>
Precisa necessariamente usar a chave do array como primeiro, segundo?
Tenta assim:
<?php
$array = array();
array_push($array, array('a' => 'a1', 'b' => 'b1'));
array_push($array, array('a' => 'a2', 'b' => 'b2'));
for ($i=0; $i<count($array); $i++)
{
echo $array[$i]['a']."<br>";
echo "Próximo: {$array[$i+1]['a']}<br><br>";
}
?>
Mais ou menos. Estou usando Foreach e nele não se utiliza contador.
=/
Valeu.
Alguém tem uma solução?
Tenta assim, acho que é isso:
<?php
$array = array(
"primeiro" => array(
"a" => "a1",
"b" => "b1"
),
"segundo" => array(
"a" => "a2",
"b" => "b2"
),
"terceiro" => array(
"a" => "a3",
"b" => "b3"
),
"quarto" => array(
"a" => "a4",
"b" => "b4"
)
);
while($value=current($array))
{
echo $value['a']."<br>";
$next = next($array);
echo "Próximo: ".$next['a']."<br><br>";
next($value);
}
?>Galera obrigado.
Encontrei uma solução utilizando Foreach.
O problema estava ocorrendo porque estava utilizando a mesma variável com o array no foreach e no next.
Criei uma variável auxiliar e deu certo. Provavelmente é isso. Se alguém tiver outra explicação manda um post.
<?php
$array = array(
"primeiro" => array(
"a" => "irra",
"b" => "irru"
),
"segundo" => array(
"a" => "irri",
"b" => "irra"
),
"terceiro" => array(
"a" => "irrt",
"b" => "irrx"
),
"quarto" => array(
"a" => "irri",
"b" => "irrt"
)
);
$arrayAux = $array;
Foreach ($array as $indice => $valor){
echo "a => ".$valor["a"];
echo " - ";
echo "b => ".$valor["b"];
$proximox = next($arrayAux);
echo " ||| Triando a prova: O próximo 'b' é: {$proximox["b"]} ||| ";
if ($valor["a"] == $proximox["b"])
echo " - <b>o 'a' de agora é igual ao 'b' do próximo</b>";
echo "<br>";
}
?>
Valeu.
Abraz.
ja pensou em usar next();?