PHP - Problema con php arrays

   
Vista:

Problema con php arrays

Publicado por Cristian perezbroncheur@gmail.com (3 intervenciones) el 01/10/2017 18:14:54
hola buenas tardes, primero que nada saludarlos y pedirles su ayuda con un código en php sobre arreglos o arrays,
el código debe buscar una posición pero este me tira un error el cual no puedo resolver, estoy en materia de estudiante y para mi es todo nuevo, desde ya les agradezco su ayuda. A continuación dejo el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
$arreglo=array();
$arreglo[0]=1;
$arreglo[1]=14;
$arreglo[2]=71;
$arreglo[3]=33;
$arreglo[4]=8;
$arreglo[5]=11;
$arreglo[6]=123;
$arreglo[7]=134;
$arreglo[8]=74;
$arreglo[9]=23;
$arreglo[10]=18;
$arreglo[11]=10;
$longi = 12;
$encontrado = false;
$i = 0;
$buscado = 33;
while(($encontrado == false) && ($i < $longi)){
	if($arreglo[$i] == $buscado){
		$encontrado = true;
		$i = $longi+1;
		echo "El elemento está en la posición: ".$i;
	}
	else{
        $i = $i++;
	}
 
}
	if (($i==$longi) && ($encontrado==false)){
	echo "No se encontró el elemento en el arreglo.";
}

el error se presenta en la linea del while y aveces en la del if
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de facundo

Problema con php arrays

Publicado por facundo (185 intervenciones) el 01/10/2017 21:06:31
1
2
3
4
5
6
7
8
9
10
11
12
13
while(($encontrado == false) && ($i < $longi)){
 
if($arreglo[$i] == $buscado){
	$encontrado = true;
	$longi = $longi + 1;
	echo "El elemento está en la posición: ".$i;
}
else{
	$i++;
continue;
}
 
}

Proba asi aver si te anda, si no entendes avisa-- Lo podes recorrer con un foreach mas facil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Problema con php arrays

Publicado por Cristian (3 intervenciones) el 01/10/2017 21:18:00
Estimado muchas gracias por la pronta respuesta, me compilo bien el código pero aun me deja un mensaje de error en la misma linea, adjunto foto
buscararreglo2

esperando atento su ayuda y dándole nuevamente las gracias.

Atte

Cristian
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de facundo

Problema con php arrays

Publicado por facundo (185 intervenciones) el 02/10/2017 03:26:02
Cuando declares $i, en vez de ponerle 0 ponele 1. El error es porque no encuentra el indice 0 del array $arreglo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Problema con php arrays

Publicado por Cristian (3 intervenciones) el 02/10/2017 03:27:06
gracias nuevamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con php arrays

Publicado por Gonzalo (491 intervenciones) el 02/10/2017 03:31:10
no tiene que ver con el problema pero te va a ayudar a simplificar tu codigo

esta forma de inicializar un array

1
2
3
4
5
6
7
8
9
10
11
12
13
$arreglo=array();
$arreglo[0]=1;
$arreglo[1]=14;
$arreglo[2]=71;
$arreglo[3]=33;
$arreglo[4]=8;
$arreglo[5]=11;
$arreglo[6]=123;
$arreglo[7]=134;
$arreglo[8]=74;
$arreglo[9]=23;
$arreglo[10]=18;
$arreglo[11]=10;

se puede hacer asi

1
$arreglo=array(1,14,71,33,8,11,123,134,74,23,18,10);

y para encontrar si un valor esta dentro de un array puedes usar la funcion array_search

1
$indice = array_search(33, $arreglo);

indice regresa 3.

o regresa false si no lo encontro.

mas informacion en este link http://php.net/manual/es/function.array-search.php

si usas la base de la piramide de keops y trazas un circulo externo que toque las 4 esquinas, y otro interno que toque los 4 lados, la diferencia de los permetros da un numero muy aproximado a la velocidad de la luz.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar