3. Napisati PHP iskaz kojim se
a)
Iz niske "Zdravo, ja sam PHP skipt" izdvaja
podniska "PHP"
$s="Zdravo, ja sam PHP
skipt";
echo substr(strstr($s,
"PHP"),0,3);
b)
U nisci "Zdravo, ja sam JavaScipt skript" podniska
"JavaScript" zamenjuje niskom "PHP" izdvojenom pod a)
$s="Zdravo, ja sam JavaScript
skript";
echo str_replace("JavaScript","PHP",$s);
4. Napisati PHP skript koji će kreirati HTML
dokument koji sadrži tabelu sa dve kolone. U prvoj koloni je dosije studenta
(formira se u obliku godina upisa/indeks, npr. 2005/12), a u drugoj koloni su njihovi
poeni. Tabela treba da bude sortirana prema broju poena
u nerastućem poretku. Koristiti
operator tačka (.) za nadovezivanje stringova. Podaci se unose preko preko formulara u tekst polja:
za
dosije <input type="text"
name="d[]" size="10" maxlength="10">
za
poene <input type="text"
name="p[]" size="3" maxlength="3">
I
NACIN
<?php
$dosije_niz= $_POST['d'];
$poeni_niz= $_POST['p'];
$c = array_combine($dosije_niz, $poeni_niz);
/* $c je asocijativni
niz ciji indeksi su vrednosti
niza d,
a vrednosti odgovaraju
vrednostima niza p.
Npr. ako $d[0]="2005/07",
$p[0]=88, onda $c['2005/07']=88
*/
//sortiranje u nerastucem poretku
arsort($c);
//ispis tabele
print "<TABLE BORDER=3 CELLSPACING=4
CELLPADDING=5>";
foreach ($c as $key => $val)
{
echo
"<TR><TD>$key</TD> <TD> $val</TD>
</TR>";
}
print "</TABLE>";
?>
II nacin
<?php
//preimenovanje nizova u kratki stil promenljivih
$a= $_POST['d'];
$b= $_POST['p'];
//sortiranje u nerastucem poretku niza $b
//ako su
poeni jednaki, sortirati po delu
username - numericki
for($i=0;$i<count($b)-1;$i++)
for($j=$i+1;$j<count($b);$j++)
if ($b[$i]<$b[$j])
{ $pom=$b[$i];
$b[$i]=$b[$j]; $b[$j]=$pom;
$pom=$a[$i];
$a[$i]=$a[$j]; $a[$j]=$pom;
}
else if (($b[$i]==$b[$j]) && (strnatcmp($a[$i],$a[$j]) >0 ) )
{ $pom=$b[$i];
$b[$i]=$b[$j]; $b[$j]=$pom;
$pom=$a[$i];
$a[$i]=$a[$j]; $a[$j]=$pom;
}
$c = array_combine($a, $b);
print "<TABLE BORDER=3
CELLSPACING=4 CELLPADDING=5>";
foreach ($c as $key => $val)
{
echo
"<TR><TD>$key</TD> <TD> $val</TD>
</TR>";
}
print "</TABLE>";
?>
8. Napisati
PHP skript koji će ispisati samo nazive domena
u e-mail ADRESAMA svih studenata
UNETIM preko formulara u tekst polje <input type="text"
name="e[]" size="20" maxlength="30">.
<?php
for($i=0; $i <
count($_POST['e']); $i++)
{
echo '<br>Domen u
e-mail adresi '.($i+1). '. studenta je ';
echo str_replace("@","",strstr($_POST['e'][$i], '@'));
}
?>
ALTERNATIVA
srednjem stilu pod serverom ALAS je dugi stil, tj.
umesto $_POST['e'] upotrebiti $HTTP_POST_VARS['e'].
PAZNJA: mnogi
studeti su uracunali i znak
@ kao deo domena, tj. upotrebili samo poziv funkcije strstr, tj. strstr($_POST['e'][$i],
'@') I time je znak @ postao 1.karakter rezultata.
3. Napisati PHP iskaz kojim se
c)
sa kraja niske "Zdravo, ja sam PHP skipt! "
uklanjaju beline i interpunkcijski znak
$s="Zdravo, ja sam PHP skript! ";
echo rtrim($s, " \t!");
ILI
$s="Zdravo, ja sam PHP skript! ";
echo chop($s,
" \t!");
d)
U nisci dobijenoj pod a) pronalazi pozicija
podniske "PHP" i prikazuje deo niske iza te podniske.
$s="Zdravo, ja sam PHP skript! ";
$s=(rtrim($s, " \t!");
echo substr(strstr($s, "PHP"),strlen("PHP"));
4. Napisati PHP skript koji će kreirati HTML
dokument koji sadrži tabelu sa dve kolone.
U
prvoj koloni su username studenta (formira se u obliku smer05indeks,
npr. mi05123), a u drugoj koloni su njihovi
poeni. Tabela treba da bude sortirana prema broju poena
u neopadajućem poretku.
Koristiti
operator tačka (.) za nadovezivanje stringova. Podaci se unose preko formulara u tekst polja:
za
username <input type="text" name="u[]"
size="20" maxlength="30">
za
poene <input type="text"
name="p[]" size="3" maxlength="3">
<?php
$username_niz= $_POST['u'];
$poeni_niz= $_POST['p'];
$c = array_combine($username_niz, $poeni_niz);
/* $c je asocijativni
niz ciji indeksi su vrednosti
niza u,
a vrednosti odgovaraju
vrednostima niza p.
Npr. ako $u[0]="mi05007",
$p[0]=88, onda $c['mi05007']=88
*/
//sortiranje u neopadajucem poretku
asort($c);
//ispis tabele
print "<TABLE BORDER=3 CELLSPACING=4
CELLPADDING=5>";
foreach ($c as $key => $val)
{
echo
"<TR><TD>$key</TD> <TD> $val</TD>
</TR>";
}
print "</TABLE>";
?>
8.
Napisati PHP skript koji će ispisati
samo nazive države u e-mail ADRESAMA svih studenata UNETIM preko formulara u tekst polje <input type="text" name="e[]" size="20" maxlength="30">.
PRETPOSTAVITI DA
SVE ADRESE IMAJU OZNAKU DRZAVE.
<?php
for($i=0; $i <
count($_POST['e']); $i++)
{
echo '<br>Drzava
u e-mail adresi '.($i+1). '. studenta je ';
echo str_replace(".","",strrchr($_POST['e'][$i], '.'));
}
?>
ALTERNATIVA
srednjem stilu pod serverom ALAS je dugi stil, tj.
umesto $_POST['e'] upotrebiti $HTTP_POST_VARS['e'].
PAZNJA: mnogi
studeti su uracunali i znak . kao deo oznake
drzave, tj. upotrebili samo
poziv funkcije strrchr, tj. strrchr($_POST['e'][$i],
'.') I time je znak . postao
1.karakter rezultata.
3. Napisati PHP iskaz kojim se
e)
sa početka
niske " 'Zdravo, ja sam PHP
skript!" uklanjaju beline i apostrof
$s=" 'Zdravo, ja sam PHP skript!";
echo ltrim($s, " \'");
f)
u nisci dobijenoj pod a) pronalazi pozicija
podniske "PHP" i prikazuje deo niske ispred te podniske.
$s="Zdravo, ja sam PHP script!";
$pozicija =strpos($s,
"PHP");
if ($pozicija=== false) {
echo "Nema podstringa";
} else {
echo substr($s,0,$pozicija-1);
}
3. NIZ
I ITEARCIJA foreach iskazom
<?php
$niz = array("prvi", "drugi", "treci");
foreach ($niz as $key => $val) {
echo "niz[" . $key . "] = " . $val . "\n";
}
?>