Newsgroup: it.comp.www.php
Titolo: Sostituire "array_search"

Come posso sostituire il comando array_search in una versione di php
vecchiotta nella quale non e' presente?
Questa la riga:
 $current=array_search(basename($_SERVER['PHP_SELF']), $files);
Grazie.

 vecchiotta nella quale non e' presente?
Leggendo il manuale, commenti inclusi?
http://www.php.net/array_search#21666
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Votami! 
http://www.phpclasses.org/vote.html
L'uomo, conscio di sbagliare, persevera.

 
http://www.php.net/array_search#21666
Non riesco a farlo funzionare, o meglio sulla versione di php vecchia (che
e' quella sulla quale gia' non funziona array_search) non va.
Questo il breve script:
<?php
   function array_cerca($needle, $haystack) {
   $match = false;
   foreach ($haystack as $key => $value) {
       if ($value == $needle) {
           $match = $key;
       }
   }
   return $match;
}
$basedir=$doc_root = realpath (dirname (__FILE__));
if ($dir = @opendir($basedir)) {
 while (($file = readdir($dir)) !== false) {
  if ($file!="." && $file !="..")
   $files[]=$file;
 }
 closedir($dir);
 natcasesort($files);
 $current=array_cerca(basename($_SERVER['PHP_SELF']), $files);
 $prev=$current-1;
 $prev=$current?"<a href=\"$files[$prev]\">Precedente</a>":"Precedente";
 $next=$current+1;
 $next=$next<count($files)?"<a
href=\"$files[$next]\">Successivo</a>":"Successivo";
 echo "| &lt; $prev | $next &gt; |\n";
}
?>
Ho sostituito a array_search la funzione array_cerca che ho creato in cima.
Ma purtroppo rimane fermo ad un file.

> 
http://www.php.net/array_search#21666
Non capisco, su una versione di php (4.3.4) lo script funziona, su una piu'
vecchia (4.0.2) non va!

 una piu' vecchia (4.0.2) non va!
Error reporting?
Prova a sostituire il costrutto foreach con un while.
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E


 Error reporting?
Semplicemente lo script punta sempre alla stessa pagina, senza errori.
Nella cartella ci sono 10 file, che si chiamano file01.php...file10.php e
questo script crea i bottoni "prev" e "next".
Con php 4.0.2 rimane attivo solo il bottone di destra e, da qualunque
pagina, punta sempre allo stesso!
P.S.: se qualcuno sa indicarmi uno script per navigare tra i file di una
directory ("prev" "next"), che sostituisca il mio e funzioni con un php
vecchiotto, e' pregato di segnalarmelo!
Ciao grazie.

 Semplicemente lo script punta sempre alla stessa pagina, senza errori.
Ci riproviamo: l'error_reporting come e' configurato?
-- 
I am what I am, I do what I can


 Ci riproviamo: l'error_reporting come e' configurato?
Ah scusa.
Non lo so, ma se provo a mettere l'array_search di prima ottengo questo:
Fatal error: Call to undefined function: array_search() in...
Comunque, ripeto: i due "bottoni" rimangono su ogni pagina uno "spento"
(quello di sinistra) e l'altro punta sempre allo stesso file della lista,
in ogni pagina.

 questo:  Fatal error: Call to undefined function: array_search() in...
Utilizza questo codice per trovare come e' impostato l'error reporting:
<?php print 'error_reporting = ' . ini_get('error_reporting') . "\n"; ?>
Per provare a trovare l'errore se questo eventualmente non viene
visualizzato a causa della configurazione all'inizio dello script
inserisci:
error_reporting (E_ALL); 
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
-- 
I am what I am, I do what I can
Votami! 
http://www.phpclasses.org/vote.html


 error_reporting (E_ALL);
Undefined variable: _SERVER  sigh sigh... in effetti $_SERVER esiste >4.1.0
E ora?



Forse ci sono riuscito!! L'ho sostituito con $HTTP_SERVER_VARS...
Grazie grazie grazie... ieri ti ho anche mandato un sms... ciao

 >4.1.0 E ora?
Utilizza $HTTP_SERVER_VARS. 
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E
