Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gustavo VdeM

[Resolvido] Foreach - Como pegar o valor da próxima posição do array e

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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>";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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);
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.