doppio array in uno solo

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Ciao, come faccio fare un doppio array in una righa di codice.?
PHP:
$cfg_include=array('presentazione', 'articoli', 'documenti','eventi','progetti','contatti');
$cfg_title=array('presentazione', 'articoli', 'documenti','eventi','progetti','contatti');

vorrei fare cosi:

'presentazione','Titolo presentazione' etc..

sapete come si fa?.

grazie mille e buona giornata.
 
esistono gli array multidimensionali ma li non capisco il senso di quello che vuoi fare.Vuoi mettere lo stesso contenuto in due array differenti?
 
Ultima modifica:
ciao e scusa del ritardo ma ho avuto problemi in casa..

primo vorrei fare non so dove ho visto un array molto diverso.. che si facceva cosi:

"chisono" => 'Chi sono'

lo dovrei mettere in questa pagina php:
PHP:
<?php
require_once('include.php');
$page = new Page;

if (!in_array(strtolower($_GET["url"]), $pages))
	{	
	$page->setTitle('Errore 404');
	$page->startBody();
	include("error/error.htm");
	$page->endBody();		
	}else
	{
	$page->setTitle(''.ucfirst($_GET["url"]).'');    // vorrei metterlo qua.. per far che il primo elemento sia il nome della pagina .php e il secondo il titolo.
	$page->startBody();
	include("pages/".strtolower($_GET["url"]).".php");
	$page->endBody();
	}
echo $page->render('layout/template.php');
?>

se è possibile fare.. ti allego il setup.php:
$pages=array('aboutme', 'link','download','chisono');

ho visto quell'array lì da qualche parte che ora non mi ricordo.

tu dici che è fattabile ?

grazie mille e buona giornata.
luigi.
 
ecco dove lo visto:
https://code.google.com/p/php-pdo-wrapper-class/

PHP:
/*STEP 4: Insert a record into your newly created table by passing an associative
array to the project's insert method.  This method will automatically filter the array's
keys against the available field names in the database table.*/
$db->insert("mytable", array(
    "FName" => "John",
    "LName" => "Doe",
    "Age" => 26,
    "Gender" => "male"
));
si può fare la stessa cosa?
grazie mille.
 
ora ho fatto cosi:
PHP:
$pages=array(
'link' = >"Link",
'download' => "Download",
'chisono' => "Chi sono");
?>

Ma come richiamo l'array?

perché cosi come ora non mi carica più nessuna pagina.
ho questo nel file dalla template:
PHP:
<div id="menu">
		<ul>
			<li><a href="index.php">Home</a></li>
			<li><a href="pages.php?url=chisono">Chi sono</a></li>
			<li><a href="pages.php?url=download">Download</a></li>
			<li><a href="pages.php?url=link">Links</a></li>
			<li><a href="contact.php">Contatti</a></li>
		</ul>
	</div>

idee?
grazie mille. e buona giornata.
 
ciao
da quello che ho capito
PHP:
<?php
//mettili nell'ordine con cui vuoi i links
$pages=array(
'chisono' => "Chi sono",
'download' => "Download",
'link' => "Link");
?> 
<div id="menu">
        <ul>
            <li><a href="index.php">Home</a></li>
<?php
            foreach($pages as $ch => $val){
				echo "<li><a href=\"pages.php?url=$ch\">$val</a></li>";
			}
?>
            <li><a href="contact.php">Contatti</a></li>
        </ul>
    </div>
 
ciao, quello non centra volevo solo capire come chiamarlo da qua:

PHP:
 $page->setTitle(''.ucfirst($_GET["url"]).'');

e qua:
PHP:
 include("pages/".strtolower($_GET["url"]).".php");

e fare il controllo per far che qualche hacker mano metta altre pagine che non devono essere richiamate.

PHP:
if (!in_array(strtolower($_GET["url"]), $pages))
con questa ultima controllo l'array e faccio far partire l'include e se la pagina non si trova nell'elenco dice "errore 404".

idee e grazie mille per l'aiuto.
buona serata.
 
mi sa che non ti serve più ma te lo posto a titolo informativo:
PHP:
$pages=array( 
'link' = >"Link", 
'download' => "Download", 
'chisono' => "Chi sono");

avreai degli array di nome pages chiave link,download,chisono e quello che indica la freccia e il suo valore.Quindi nel tuo caso avrai tre array $pages['link']="link";,$pages['download']="download";,$pages['chisono']="chisono";.

Mentre se utilizzi la funzione array
PHP:
$pages=array( "Link",  "Download", "Chi sono");
avrai tre array come prima stesso nome stessi valori di settaggio ma la loro chiave è numerale da 0 a 2 $pages[0]="link";,$pages[1]="download";,$pages[2]="chisono"; quiesto sistema è ottimo per l'utilizzo de ciclo for e cosi scorri l'array es:

PHP:
$pages=array("link","download","chisono");
$lungezzarray=count($pages);

for($a=0;$a<$lungezzarray;$a++)
  {
  echo $pages[$a];
  echo "<br>";
  }

Spero di esserti stato d'aiuto in qualche modo ciao fammi sapere.
 
quindi per metterlo nell'_GET ? come devo fare?

tanto è un cms che verra editato solo via ftp client e da chi sa l'html e css un po di php.

E poi e solo per me.

ti ringrazio molto e buona serata.
 
PHP:
<?php
$_GET=array("link","download","chisono");
$lunghezzarray=count($_GET);

for($o=0;$o<$lunghezzarray;$o++)
   {
   echo $_GET[$o];
   echo "<br>";
   }
?>

cosi utilizzi il get e gestisci i suoi valori con array ma non sò se è proprio quello che cercavi domani quando ho un po di tempo leggo meglio ora devo farmi la doccia e scappare a letto ciao ci sentiamo.
 
PHP:
<?php
$_GET=array("link","download","chisono");
$pages=array("link","download","chisono");
$lunghezzarray=count($_GET);

for($o=0;$o<$lunghezzarray;$o++)
   {
    
    if (in_array(strtolower($_GET[$o]), $pages)){ 
     include("pages/".strtolower($_GET[$o).".php");
        echo $_GET[$o];
   echo "<br>";}
  
   }
?>

ti ho inserito anche il controllo if come avevi mostrato ma non ho uscato gli oggetti, spero che ti vada bene fammi sapere ciao
 
Ultima modifica:
scusa, ho provato ma non carica come vorrei ... e mi carica sempre la pagina link:
ecco il codice che ho modificato, solo non capisco come deve funzionare.

PHP:
<?php
require_once('include.php');
$page = new Page;

$pages=array("chisono","download","link");
$_GET=array("chisono","download","link");
$title=array("Chi sono","Download","Link");
$lunghezzarray=count($_GET);

for($o=0;$o<$lunghezzarray;$o++)
   {
    
	if (in_array(strtolower($_GET[$o]), $pages)){ 
	   $page->setTitle(''.ucfirst($title[$o]).'');
	   $page->startBody();
	   include("pages/".strtolower($_GET[$o]).".php");
	   $page->endBody();
   
   }
  
}   
echo $page->render('layout/template.php');
?>

ti ringrazio di nuovo.
 
ciao
prova così, al massimo non funzia
PHP:
<?php
require_once('include.php');
$page = new Page;
//$_GET=array("chisono","download","link"); 
$pages=array("chisono","download","link");
$titles=array("Chi sono","Download","Link");
$_GET=array_combine($pages,$titles);
foreach($_GET as $get => $title){
	if(in_array(strtolower($title), $pages)){
		$page->setTitle(ucfirst($title));
		$page->startBody();
		include("pages/".strtolower($get).".php");
		$page->endBody();
	}
} 
echo $page->render('layout/template.php');
?>
 
ciao
prova così, al massimo non funzia
PHP:
<?php
require_once('include.php');
$page = new Page;
//$_GET=array("chisono","download","link"); 
$pages=array("chisono","download","link");
$titles=array("Chi sono","Download","Link");
$_GET=array_combine($pages,$titles);
foreach($_GET as $get => $title){
	if(in_array(strtolower($title), $pages)){
		$page->setTitle(ucfirst($title));
		$page->startBody();
		include("pages/".strtolower($get).".php");
		$page->endBody();
	}
} 
echo $page->render('layout/template.php');
?>
niente.. carica l'ultimo array ovvero sempre "Link" e la pagina "Link"..?
idee?

però io devo far modo che devo inserire $_GET["url"], e il parametro url viene lanciato dal link <a href="pages.php?url=chisono etc..

idee? e grazie mille.

buona giornata.
 
ho fatto una modifica:

PHP:
 <?php
require_once('include.php');
$page = new Page;
$pages=array("chisono","download","link");
$titles=array("Chi sono","Download","Link");
$GET=array_combine($pages,$titles);
foreach($GET as $get => $title){
    if(in_array(strtolower($_GET["url"]), $pages)){
        $page->setTitle(ucfirst($title));
        $page->startBody();
        include("pages/".strtolower($_GET["url"]).".php");
        $page->endBody();
    }
} 
echo $page->render('layout/template.php');
?>

però il title rimane sempre "Link" e non cambia?

prende sempre l'ultimo valore dell'array come mai?

grazie.
 
ciao
forse, e sottolineo forse, ho trovato l'inghippo, prova

HTML:
<div id="menu">
	<ul>
		<li><a href="index.php">Home</a></li>
		<li><a href="pages.php?url=chisono">Chi sono</a></li>
		<li><a href="pages.php?url=download">Download</a></li>
		<li><a href="pages.php?url=link">Links</a></li>
		<li><a href="contact.php">Contatti</a></li>
	</ul>
</div>

PHP:
<?php
require_once('include.php');
$page = new Page;
var_dump($_GET['url']);//poi questo lo togli
$pages=array("chisono","download","link");
$titles=array("Chi sono","Download","Link");
$gets=array_combine($pages,$titles);
foreach($gets as $get => $title){
    if(in_array(strtolower($_GET['url'], $pages)){
        $page->setTitle(ucfirst($title));
        $page->startBody();
        include("pages/".strtolower($get).".php");
        $page->endBody();
		break;//questo ti serve per uscire dal ciclo appena trovata la corrispondenza
		//è inutile continuare a ciclare se l'hai trovato
    }
} 
echo $page->render('layout/template.php');
?>

provare e riprovare gl'è tutto un lavorare :)
 
ciao e grazie.. solo che ora da questi avvisi:

PHP:
string(7) "chisono"
Warning: strtolower() expects exactly 1 parameter, 2 given in D:\xampp\htdocs\cms\pages.php on line 9

Warning: in_array() expects at least 2 parameters, 1 given in D:\xampp\htdocs\cms\pages.php on line 9

Warning: strtolower() expects exactly 1 parameter, 2 given in D:\xampp\htdocs\cms\pages.php on line 9

Warning: in_array() expects at least 2 parameters, 1 given in D:\xampp\htdocs\cms\pages.php on line 9

Warning: strtolower() expects exactly 1 parameter, 2 given in D:\xampp\htdocs\cms\pages.php on line 9

Warning: in_array() expects at least 2 parameters, 1 given in D:\xampp\htdocs\cms\pages.php on line 9

che è la linea:
if(in_array(strtolower($_GET['url'], $pages))){


ho preso il codice come mi hai modificato tu e anche il menu modificato,
ma da quei avvisi.


idee?

grazie mille.
 

Discussioni simili