Autor Zpráva
Tori
Profil
Dobrý večer,

mám pole, např.:
$a = array(
 0 => array('x'=>2, 'y'=>4, 'z'=>4),
 1 => array('x'=>1, 'y'=>7, 'z'=>1),
 2 => array('x'=>4, 'y'=>8, 'z'=>4),
 3 => array('x'=>8, 'y'=>1, 'z'=>2),
); 

Potřebuji zjistit nejvyšší a nejnižší hodnotu indexu (např. x) ze všech vnořených polí. Jaký byste použili postup? Napadly mne zatím dvě možnosti, ale snad je i nějaká jednodušší:

1)
foreach ($a as $val)  {
  $tmp[] = $val['x'];
}
sort($tmp);
$min = $tmp[0]; 
$max = $tmp[count($tmp)-1];


2)
$tmp = array_intersect_key($a[0], $a[1], $a[2],... , array('x'=>-1));
sort($tmp);
$min = $tmp[1]; 
$max = $tmp[count($tmp)-1];

Díky moc za názor.
AM_
Profil
$max = 0;
foreach ($a as $val)  {
  $max = max($max, $val['x']);
}
Tori
Profil
AM:
Super, díky moc, hledala jsem jen v polních funkcích.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0