PHP - Comparacion de variables

   
Vista:

Comparacion de variables

Publicado por Esteban (1 intervención) el 12/07/2016 02:44:25
Buenas, tengo una pregunta muy sencilla.

Tengo este array

$mensajes =
[
['ruben', 'chris', 'hola como andas?'],
['agus', 'pepe', 'hola! todo bien?'],
['chris', 'pepe', 'buen dia pepe!!']
];

tengo que extraer en variables, la posicion 2 de cada array y el contenido de la misma no debe repetirse.

Es decir, el resultado deberia ser, una variable para chris y una para pepe.

Alguna idea?
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 kip

Comparacion de variables

Publicado por kip (562 intervenciones) el 12/07/2016 06:13:24
Hola, espero haberte entendido, aqui te dejo un codigo a ver si se ajusta a lo que necesitas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
 
$mensajes =
[
['ruben', 'chris', 'hola como andas?'],
['agus', 'pepe', 'hola! todo bien?'],
['chris', 'pepe', 'buen dia pepe!!']
];
 
foreach ($mensajes as $key => $value) {
    for ($i=0,$s=count($value);$i<$s;$i++){
        if ($i==1){
            $var['dato'.$value[$i]] = $value[$i];
        }
    }
}
 
extract($var);
echo $datochris.'<br>';
echo $datopepe.'<br>';

Use un foreach para obtener cada array dentro del array $mensajes, luego con un ciclo for recorri cada valor de estos array y coloque una condicional que solo en en indice 1 (debido a que los indices inician en 0) almacene aquel dato en un array nuevo con indice personalizado, en este cado cada inidice sera datochris o datospepe segun corresponda, puedes editar aquello aunque recuerda que deben ser algo que en cada ciclo cambie y no se repita, luego de hacer todo aquello uso la funcion extract para extraer los datos del array que cree y hago un echo del indice como almacene el valor en mi array creado, extract permite aquello.

Tambien esta la restriccion que colocaste que aquel valor no debe repetirse, lo que hace es que al ejecutarse esta linea de asignacion al nuevo array:
1
$var['dato'.$value[$i]] =
Si la clave o indice que llega esta repetida tomara el ultimo valor de la misma, sera reemplazada.

Espero te sirva, cualquier cosa nos comentas.

Saludos
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