OVH Cloud OVH Cloud

array_reverse ne fonctionne pas

3 réponses
Avatar
jmlecl
J'ai pris un script sur codewalkers pour faire un système de news (je
suis débutant et apprends par l'exemple). Le script fonctionne mais
array_reverse ne donne rien., d'ailleurs dans l'éditeur, la fonction ne
se colorie pas (signe qu'elle n'est pas reconnue)

<?php
$data = file('articles/news.txt');
$data = array_reverse($data);
foreach($data as $element) {
$element = trim($element);
$pieces = explode("|", $element);
echo "<h3>Posté par " . $pieces[1] . " le " . $pieces[0] . "</h3><h4>" .
$pieces[2] . "</h4><br/>
";
}
?>

Auriez-vous une idée??

version installée 4.3.6 avec apache 1.3.29 (Darwin) sur Mac OSX 10.3.4
--
Jean-Maurice Le Clech

3 réponses

Avatar
Pozzo
array_reverse ne donne rien., d'ailleurs dans l'éditeur, la fonction ne
se colorie pas (signe qu'elle n'est pas reconnue)


preuve qu'elle n'est pas connue de votre éditeur de texte... pas du
moteur php... (sinon vous obtiendriez une erreur php lors de l'execution
du code)

version installée 4.3.6 avec apache 1.3.29 (Darwin) sur Mac OSX 10.3.4


www.php.net => rechercher array_reverse :

array_reverse (PHP 4 , PHP 5) -- Inverse l'ordre des éléments d'un tableau

Donc la fonction existe bien... conclusion le problème est ailleurs...
Un petit print_r($data) avant et après le array_reverse pourrait vous
aider à y voir plus clair...

Avatar
Sebastien
Jean-Maurice Le Clech wrote:
J'ai pris un script sur codewalkers pour faire un système de news (je
suis débutant et apprends par l'exemple). Le script fonctionne mais
array_reverse ne donne rien., d'ailleurs dans l'éditeur, la fonction ne
se colorie pas (signe qu'elle n'est pas reconnue)

<?php
$data = file('articles/news.txt');
$data = array_reverse($data);
foreach($data as $element) {
$element = trim($element);
$pieces = explode("|", $element);
echo "<h3>Posté par " . $pieces[1] . " le " . $pieces[0] . "</h3><h4>" .
$pieces[2] . "</h4><br/>
";
}
?>

Auriez-vous une idée??

version installée 4.3.6 avec apache 1.3.29 (Darwin) sur Mac OSX 10.3.4



Comment ça ça ne donne rien ? Essaie d'être plus explicite.
Si tu fais :

print_r(array_reverse(array('élém 1', 'élém 2', 'élém 3'))) ;

Qu'est-ce qui est affiché ?
Si tu as "élém 3" en 1er c'est que array_reverse( ) fonctionne bien sur
ton système, autrement mets à jour ton PHP.
Tu peux aussi faire un print_r( ) sur $data avant _et_ après ton
array_reverse( ) pour voir ce qu'il se passe.
Doc print_r( ) : http://www.php.net/print-r

PS : array_reverse( ) existe bien => http://www.php.net/array-reverse

Avatar
jmlecl
Sebastien wrote:

Comment ça ça ne donne rien ? Essaie d'être plus explicite.
Si tu fais :

print_r(array_reverse(array('élém 1', 'élém 2', 'élém 3'))) ;

Qu'est-ce qui est affiché ?
Si tu as "élém 3" en 1er c'est que array_reverse( ) fonctionne bien sur
ton système, autrement mets à jour ton PHP.
Tu peux aussi faire un print_r( ) sur $data avant _et_ après ton
array_reverse( ) pour voir ce qu'il se passe.
Doc print_r( ) : http://www.php.net/print-r

PS : array_reverse( ) existe bien => http://www.php.net/array-reverse


Mea culpa je suis le seul reponsable ...mais merci pour les
explications, je suis débutant et print_r( ) m'a permis de voir un
moyen simple de débuggage.
Array_reverse fonctionne bien, c'est moi qui ai dans le fichier texte
modifié à la main les dates d'entrée des lignes de news: je les avais
mises de la plus récente à la plus ancienne et me retrouvais avec
l'inverse lorsque je regardais ma page web.
;-)

--
Jean-Maurice Le Clech