Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

combinar valores array asociativo

🔩 Sitios donde alojar nuestro proyecto, y hostings con PHP, MySQL, etc.
SPAM está sancionado con la exclusión.
Responder
Avatar de Usuario
natyguaper
Observador/a
Mensajes: 1
Registrado: 02 Nov 2015, 14:23
Nombre real: Natalia

combinar valores array asociativo

#1

Mensaje por natyguaper » 02 Nov 2015, 14:26

Hola que tal,

Tengo un arreglo asociativo:

$array = array("A" => 55, "B" => 55, "C" => 57, "D" => 60);

y necesito generar ciertas cadenas de combinaciones dependiendo de los maximos y minimos,

por ejemplo:

en este caso "D" es el maximo y "A" y "B" los minimos,
así que tengo que generar estas cadenas: siempre (maximo/minimo)

"D/A"
"D/B"

si "C" también sería 55 tendría "D/C".

nunca se cuales son los maximos y minimos, son aleatorios...
pude que la proxima sean así:

$array = array("A" => 1, "B" => 2, "C" => 3, "D" => 4);

y solamente sería : "D/A"

gracias.




Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
micontre
Moderador
Mensajes: 933
Registrado: 13 Sep 2008, 02:34
Nombre real: Miguel
Ubicación: Viladecans - Barcelona
Edad: 54

Re: combinar valores array asociativo

#2

Mensaje por micontre » 02 Nov 2015, 14:53

este no es un tema para soporte 3.1 ni relacionado con phpbb .
lo muevo a recursos webmaster

Mis datos | Mostrar
URL: http://imaginewal.com/
Plantilla usuada : imaginewal_bis (estilo propio vasado en prosilver.)
Versión de phpBB: 3.1.6
Servidor: Hosting24.com , pago
actualización desde otra versión: ( 3.0.14 __ 3.1.16)
conversión desde otro tipo de Foro: No


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

AbaddonOrmuz
Invitado

Re: combinar valores array asociativo

#3

Mensaje por AbaddonOrmuz » 02 Nov 2015, 22:47

Si sólo necesitas un par por array y suponiendo que tu array siempre tenga esa estructura:

Código: Seleccionar todo

$array = ['A' => 5, 'B' => 78, 'C' => -1, 'D' => 0];

$tmp['max'] = max(array_values($array));
$tmp['min'] = min(array_values($array));
$tmp['str'] = '';

foreach ($array as $key => $value) {
	if ($array[$key] == $tmp['max']) {
		$tmp['str'][] = $key;
	}
	if ($array[$key] == $tmp['min']) {
		$tmp['str'][] = $key;
	}
}

// Conversión a string
$tmp['str'] = implode('/', $tmp['str']);
Con var_dump($tmp); podrás ver que tendrás algo como:

Código: Seleccionar todo

array(3) {
	["max"]=> int(78)
	["min"]=> int(-1)
	["str"]=> string(3) "B/C"
}
Siendo $tmp['str'] el string que necesitas.


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Responder

Volver a “Servidores”