Προς το περιεχόμενο

PHP Συνάρτηση


bscyb

Προτεινόμενες αναρτήσεις

Δημοσ.

Άρχισα να διαβάζω ενα βιβλίο για PHP και έχει μια άσκηση στην οποία λεέι:

 

Δημιουργήστε μια συνάρτηση η οποία θα δέχεται τέσσερα αλφαριθμητικά ως ορίσματα και θα επιστρέφει ένα αλφαριθμητικό,το οποίο θα περιέχει ένα στοιχείο για την δημιουργία ενός HTML πίνακα.Η τιμή κάθε μιας απο τις τέσσερεις μεταβλητές θα εμφανίζεται σε ένα ξεχωριστό κελί του πίνακα

 

έχω κάνει αυτό αλλά όταν προσπαθώ να τρέξω την σελίδα δεν εμφανίζει τίποτα οπότε έχω κάνει κάτι λάθος

 

>
<?php
function myfunction($name,$surname,$city,$address)
{
?>
<table border="1">

<?php 
echo "<tr><td> ".$name. "</td></tr>";
echo "<tr><td> ".$surname. "</td></tr>";
echo "<tr><td> ".$city. "</td></tr>";
echo "<tr><td> ".$address. "</td></tr>";
?>
</table>
<?php
}
myfuncion("Nikos","Papadopoulos","Athens","Thivon 7");
?>

Δημοσ.

Κάντα όλα echo:

><?php
function myfunction($name,$surname,$city,$address)
{
echo "<table border='1'>;
echo "<tr><td> ".$name. "</td></tr>";
echo "<tr><td> ".$surname. "</td></tr>";
echo "<tr><td> ".$city. "</td></tr>";
echo "<tr><td> ".$address. "</td></tr>";
echo "</table>";
}

 

Η άσκηση βέβαια λέει να επιστρέψεις ένα αλφαριθμητικό, οπότε θα πρέπει να γίνει κάπως έτσι:

><?php
function myfunction($name,$surname,$city,$address)
{
$str= "<table border='1'>;
$str.= "<tr><td> ".$name. "</td></tr>";
$str.= "<tr><td> ".$surname. "</td></tr>";
$str.= "<tr><td> ".$city. "</td></tr>";
$str.= "<tr><td> ".$address. "</td></tr>";
$str.= "</table>";
return $str;
}
echo myfunction("d","f","g","h");

Δημοσ.

Κάντα όλα echo:

><?php
function myfunction($name,$surname,$city,$address)
{
echo "<table border='1'>;
echo "<tr><td> ".$name. "</td></tr>";
echo "<tr><td> ".$surname. "</td></tr>";
echo "<tr><td> ".$city. "</td></tr>";
echo "<tr><td> ".$address. "</td></tr>";
echo "</table>";
}

 

Η άσκηση βέβαια λέει να επιστρέψεις ένα αλφαριθμητικό, οπότε θα πρέπει να γίνει κάπως έτσι:

><?php
function myfunction($name,$surname,$city,$address)
{
$str= "<table border='1'>;
$str.= "<tr><td> ".$name. "</td></tr>";
$str.= "<tr><td> ".$surname. "</td></tr>";
$str.= "<tr><td> ".$city. "</td></tr>";
$str.= "<tr><td> ".$address. "</td></tr>";
$str.= "</table>";
return $str;
}
echo myfunction("d","f","g","h");

Σώστα έτσι έπρεπε να το κάνω

ευχαριστώ

Δημοσ.

Αφού βάζεις που βάζεις τα "" (διπλά «αυτάκια»), μπορεί να γίναι και λίγο πιο «απλό»:

><?php
function myfunction($name, $surname, $city, $address)
{
$str= "<table border='1'>;
$str.= "<tr><td>$name</td></tr>";
$str.= "<tr><td>$surname</td></tr>";
$str.= "<tr><td>$city</td></tr>";
$str.= "<tr><td>$address</td></tr>";
$str.= "</table>";

return $str;
}
echo myfunction("d", "f", "g", "h");

 

Το ίδιο δεν ισχύει για τα '' (μονά «αυτάκια»).

Δημοσ.

Για να μην ανοίξω νέο θέμα θα ρωτήσω κάτι ακόμα εδώ εχω αυτό εδώ το script

 

>
<?php
$movies=array
(
"action"=>array
(
"movie1"=>"Terminator 3",
"movie2"=>"Crank"
),
"adventure"=>array
(
"movie1"=>"Mission Impossible",
"movie2"=>"Sahara"
),
fantasy=>array
(
"movie1"=>"Star wars",
"movie2"=>"Thor"
)
);

foreach($movies as $m)
{
while(list($k, $v) = each($m))
{
	echo "$k  : $v <br />";
}
}
?>

 

οταν το τρέχω εμφανίζει το εξής:

 

movie1 : Terminator 3

movie2 : Crank

movie1 : Mission Impossible

movie2 : Sahara

movie1 : Star wars

movie2 : Thor

 

αλλά εγώ θέλω να το εμφανίζει ως εξής:

action:Terminator 3,Crank

adventure:Mission Impossible,Sahara

fantasy:Star wars,Thor

 

ξέρει κανέις τη πρέπει να αλλάξω ?

Δημοσ.

Δοκίμασε αυτό:

><?php
foreach ($movies as $group=>$m)
{
echo $group.": ";
foreach ($m as $id=>$name)
{
	echo $name." ";
}
echo "<br />";
}
?>

Φιλική συμβουλη: δεν έχει νόημα να προχωρήσεις αν πρώτα δε καταλάβεις πρώτα τι ακριβώς είναι το index σε έναν πίνακα και πως το χρησιμοποιούμε;)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...