kojoto3
7.01.2009, 09:14:49
Witam. Czy mógłby mi ktoś pomóc.
W pierwszym skrypcie mam napisać funkcję wyświetlająca imiona w których jest litera a
omija mi imiona zaczynające się od litery a, co jest nie tak?
<?php
function letterInName($a=array(),$letter)
{
$range=count($a);
for($i=0;$i<$range;$i++)
if(strpos("".$a[$i],$letter)==true)
echo $a[$i].",";
}
$tab=array('ala','ola','staś','alek','ewa','ania');
letterInName($tab,'a');
?>
a drugi mam wyświetlić najm,niejszą liczbę z tablicy
i wogóle nie działa
<?php
function minimum($a=array())
{
$min=$tab[0];
for$i=0;$i<count($tab);$i++)
{
if($tab[$i]<$min)
{
$min=$tab[$i];
}
}
echo $min;
}
$tab=array(15,62,323,51,3,8,713,-2);
minimum($tab);
?>
mógłby mi ktoś pomóc, z góry dziękuje
JoShiMa
7.01.2009, 09:18:06
Masz warunek:
<?php
if(strpos("".$a[$i],$letter)==true) ?>
Jeśli $a[$i] zaczyna się od $letter to strpos("".$a[$i],$letter) zwraca zero i warunek nie jest spełniony.
Spróbuj tak:
<?php
if(strpos($a[$i],$letter)===0) ?>
_olo_1984
7.01.2009, 09:23:14
<?php
function minimum($tab)
{
}
$tab = array('15','62','323','51','3','8','713','-2');
minimum($tab);
?>
drugi przykład
JoShiMa
7.01.2009, 09:30:36
W drugim masz poprostu błędy wewnątrz funkcji. Przekazujesz zmienną o nazwie $a a odwołujesz się do $tab. Jeśłi musisz to zrobić ręcznie zamiast jak pokazał kolega za pomoca sort to powinno wyglądac tak:
<?php
function minimum($a){
$min=$a[0];
for($i=0;$i<$i_max;$i++){
if($a[$i]<$min) $min=$a[$i];
}
}
?>
kojoto3
7.01.2009, 09:42:13
W pierwszym teraz wyświetla tylko imiona zaczynające się od litery a, pozostałe omija.
JoShiMa
7.01.2009, 09:59:00
Upss. źle zrozumiałam. Myślałam, że właśnie ma tak wyświetlać.
To zrób tak:
<?php
if(strpos($a[$i],$letter)!==FALSE) ?>