Εισαγωγή συμβόλου μετά από κάθε array element

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

Εισαγωγή συμβόλου μετά από κάθε array element

Δημοσίευση από _Invisible_ » 07 Ιουν 2007 15:20

Γεια σας.

Δεν είναι τόσο απλό όσο φαίνεται, αλλά θέλω να βάζω ένα σύμβολο (πχ. κόμμα [,]) μετά από κάθε element ενός array, εκτός του τελευταίου.

Αν κάνω κάτι τέτοιο:

Κώδικας: Επιλογή όλων

$array = array('1', '2', '3', '4', '5');

foreach($array as $ar_element)
{
  echo $ar_element . ',';
}
θα βγάλει κόμμα μετά από κάθε array element αλλά θα βγάλει και στο τελευταίο. Δεν μου έρχεται κάποιος τρόπος ώστε να μην μπαίνει και στο τελευταίο element. Όλες οι ιδέες είναι δεκτές. :D

Ευχαριστώ πολύ.

nastis
Δημοσιεύσεις: 124
Εγγραφή: 16 Φεβ 2005 16:28
Επικοινωνία:

Εισαγωγή συμβόλου μετά από κάθε array element

Δημοσίευση από nastis » 07 Ιουν 2007 15:37

Κώδικας: Επιλογή όλων

// Alpha tropos 
$array = array('1', '2', '3', '4', '5');
$buff="";
foreach($array as $ar_element)
{
  $buff.=$ar_element . ',';
} 
echo substr($buff, 0, strlen($buff)-1); 


// Bhta tropos
$array = array('1', '2', '3', '4', '5');
$count=0;
foreach($array as $ar_element)
{
  $count++;
  if (sizeof($array)==$count)
  echo $ar_element . '';
  else
  echo $ar_element . ',';
} 
Φιλικα
Β.
www.oktonia.com - Παγκόσμιο Χωριό Γνώσης Λυμένα Θέματα Εξετάσεων - Ασκήσεις

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Εισαγωγή συμβόλου μετά από κάθε array element

Δημοσίευση από cpulse » 07 Ιουν 2007 16:08

Κώδικας: Επιλογή όλων

echo implode(',', $array);

nastis
Δημοσιεύσεις: 124
Εγγραφή: 16 Φεβ 2005 16:28
Επικοινωνία:

Εισαγωγή συμβόλου μετά από κάθε array element

Δημοσίευση από nastis » 07 Ιουν 2007 17:01

@cpulse
μακράν καλύτερο το δικό σου! :)
www.oktonia.com - Παγκόσμιο Χωριό Γνώσης Λυμένα Θέματα Εξετάσεων - Ασκήσεις

Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

Εισαγωγή συμβόλου μετά από κάθε array element

Δημοσίευση από _Invisible_ » 07 Ιουν 2007 21:14

Σας ευχαριστώ πάρα πολύ guys για τις απαντήσεις σας!

Δούλεψαν όλα τα παραδείγματα που δώσατε! :D

Ευχαριστώ και πάλι :)

Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

Εισαγωγή συμβόλου μετά από κάθε array element

Δημοσίευση από _Invisible_ » 07 Ιουν 2007 22:01

OK τελικά έχω ένα ακόμη πρόβλημα :-?

Θα σας πω τι ακριβώς ήθελα να κάνω. Έχω γράψει ένα class για να κάνω debug τα functions και να μετράω πόσα functions (όπως στα SQL Queries) εκτελούνται σε μία σελίδα.

Έχω ένα function μέσα στο Function class και εκτελεί κάποια function. Για παράδειγμα αυτό δουλεύει μια χαρά:

Κώδικας: Επιλογή όλων

	function parse_func( $function_name, $function_called )
	{
		global $total_functions;

		$func = array();
		$func['name'] = (string) $function_name;
		$func['called'] = (string) $function_called;
		$func['time'] = (int) time();

		if ( function_exists($function_name) )
		{
			$this->total_functions++;
			return $function_name();
		}
		else
		{
			die("no such function!");
		}

	}
όπως βλέπετε αν υπάρχει το function ανεβάζει το int του $total_functions και μετά με: $function->total_functions μου επιστρέφει πόσα functions εκτελούνται σε κάθε σελίδα. Φυσικά για να γίνει αυτό γράφω:

Κώδικας: Επιλογή όλων

$function->parse_func('function_name', __FILE__);
και έτσι γίνεται η όλη διαδικασία. Το πρόβλημα είναι όταν υπάρχουν και additional parameters σε ένα function, δηλαδή δεν είναι απλά function_name() αλλά function_name(parameter1, parameter2). Αυτό δεν το υποστηρίζει το parse_func που έχω κάνει, και γι' αυτό δημιούργησα και ένα ακόμα function που το βάζω στα functions με additional parameters:

Κώδικας: Επιλογή όλων

	function f_parameters($function_name, $total_parameters, $parameters)
	{
		if (!count($parameters) == $total_parameters)
		{
			die("Function Error. Invalid Parameters given!");
		}

		$array = array();

		foreach($parameters as $par)
		{
			$array[] = "$" . $par['p_name'] . ' = "' . $par['p_value'] . '"';
		}

		$this->total_functions++;
		$parameters = implode(", ", $array);

		return $function_name($parameters);

	}
Δώστε προσοχή στο return. Υπέθεσα ότι γράφοντας $function_name θα αντικατασταθεί από το όνομα του function που ζήτησα να εκτελεστεί, αλλά και στη θέση του $parameters θα ήταν οι παράμετροι του function. Στην ουσία αν το κάνω echo είναι ακριβώς όπως θα το καλούσα από ένα PHP script αν δεν το έβαζα από το function class. Ας υποθέσουμε ότι θέλουμε να εκτελέσει το script μας αυτό το function:

Κώδικας: Επιλογή όλων

html_page($error_title = $lang['Error'], $msg = 'Module file not found.');
Το function class πλέον επιστρέφει αυτό που βλέπετε παραπάνω με αυτό τον κώδικα:

Κώδικας: Επιλογή όλων

$html_values = array
(
	'par0' => array('p_id' => '0', 'p_name' => 'error_title', 'p_value' => $lang['Error']),
'par1' => array('p_id' => '1', 'p_name' => 'msg', 'p_value' => 'Module file not found.')
);


$function->f_parameters('html_page', 2, $parameters = $html_values );
Αν το κάνω echo παίρνω το αποτέλεσμα που είπα παραπάνω, αλλά δεν δουλεύει γιατί καλεί το function με μία παράμετρο και όχι δύο άσχετα που έχει κόμμα. Δηλαδή το html_page() γυρνάει missing argument... :(

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Εισαγωγή συμβόλου μετά από κάθε array element

Δημοσίευση από panosru » 08 Ιουν 2007 00:29

Invy, des mia to link pou sou paratheto kai tha breis thn lysh monos sou, an ostoso den ta katafereis postare edo ton kodika sou, oso exeis kanei kai tha bohthisoume.

Function Handling Functions

Άβαταρ μέλους
_Invisible_
Δημοσιεύσεις: 418
Εγγραφή: 16 Νοέμ 2006 16:47
Τοποθεσία: Greece

Εισαγωγή συμβόλου μετά από κάθε array element

Δημοσίευση από _Invisible_ » 08 Ιουν 2007 16:32

OK τώρα δουλεύει μια χαρά. :D Ευχαριστώ πολύ! 8)

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες