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: 13 let
|
0