| Autor | Zpráva | ||
|---|---|---|---|
| hal_sk Profil |
#1 · Zasláno: 15. 2. 2011, 01:41:46
Zdravím,
mám pole: $ovocie=array("jablko","banan","hrozno","hruska","hrozno");1) Potrebujem zistiť koľko krát sa tam nachádza to hrozno (2 krát). 2) Keďže v poli sú 2 ovocia "hrozno" (s indexom 2 a 4) potreboval by som zistiť aj to, koľké "hrozno" daný index predstavuje, čiže v tomto prípade pre $ovocie[2]; $ovocie[4]; Sorry za tento mizerný popis problému, nenapadlo ma nič lepšie. |
||
| Taps Profil |
#2 · Zasláno: 15. 2. 2011, 07:38:24
hal_sk:
napadlo mě toto 1)
$ovocie=array("jablko","banan","hrozno","hruska","hrozno");
foreach($ovocie as $o)
{
if($o=='hrozno') $pocet[]=$o;
}
echo 'Počet: '.count($pocet);
2.
$ovocie=array("jablko","banan","hrozno","hruska","hrozno");
$key = array_keys($ovocie,'hrozno');
print_r($key);
|
||
| lordfrikk Profil |
#3 · Zasláno: 15. 2. 2011, 08:22:41
<?php
$ovocie=array("jablko","banan","hrozno","hruska","hrozno","banan","banan","banan");
function arrayCountValuesEx($array)
{
$aRetArray = array();
$aCntArray = array();
foreach ($array as $key => $value)
{
if (!$aCntArray[$value])
$aCntArray[$value] = 1;
else
$aCntArray[$value] = ++$aCntArray[$value];
$aRetArray[$key] = $aCntArray[$value];
}
return $aRetArray;
}
var_dump(arrayCountValuesEx($ovocie));
?> |
||
| __construct Profil |
#4 · Zasláno: 15. 2. 2011, 08:35:44 · Upravil/a: __construct
hal_sk:
ten prvý problém sa dá jednoduchšie riešiť, bez nejakých iterácií takto: $ovocie = array("jablko","banan","hrozno","hruska","hrozno");
function pocet($pole = array(), $polozka = null)
{
$tmp = array_count_values($pole);
return (isset($tmp[$polozka])) ? $tmp[$polozka] : 0;
}
echo "<pre>";
var_export(pocet($ovocie,'hrozno')); // vráti '1' |
||
| petr 6 Profil |
#5 · Zasláno: 15. 2. 2011, 14:20:24 · Upravil/a: petr 6
Na ten první problém dokonce existuje v php funkce array_count_values
|
||
| hal_sk Profil |
#6 · Zasláno: 15. 2. 2011, 16:16:44
Dík vštetkým, hlavne lordfrikk-ovi. Pomohlo.
|
||
|
Časová prodleva: 15 let
|
|||
0