D'une valeur à une autre valeur avec foreach
Résolu
Fornikator
-
Fornikator -
Fornikator -
Bonjour,
J'aimerai savoir comment avoir seulement le résulta d'un tableau d'une valeur à une autre valeur avec la fonction foreach en PHP.
Merci d'avance.
J'aimerai savoir comment avoir seulement le résulta d'un tableau d'une valeur à une autre valeur avec la fonction foreach en PHP.
<?php
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
foreach($arr as $value) {
echo $value; // Les valeurs a partir de 4 jusqu'à 8.
}
?>
Merci d'avance.
A voir également:
- D'une valeur à une autre valeur avec foreach
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Valeur ascii - Guide
- Faites afficher avec un fond coloré les cellules qui contiennent une valeur comprise entre 250 et 350. - Forum VB / VBA
- Mise en forme conditionnelle "compris entre" ✓ - Forum Excel
- Excel ne pas afficher #valeur ✓ - Forum Excel
2 réponses
Bonsoir,
-------------------------------------------------------------------------------------------------------------------------------------------------
<* Suivez-moi sur FesseS-BouC *>
<?php
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
foreach($arr as $value) {
if($value >3 && $value <9) {
echo $value; // Les valeurs a partir de 4 jusqu'à 8.
}
}
?>
-------------------------------------------------------------------------------------------------------------------------------------------------
<* Suivez-moi sur FesseS-BouC *>
Pour des tableaux à une dimension comme ça, tu vois :
Mais en fait, tu as :
Donc tu peux faire :
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Mais en fait, tu as :
$arr = array( 0 => 1, 1 => 2, 2 => 3, 3 => 4, 4 => 5, 5 => 6, 6 => 7, 7 => 8, 8 => 9, 9 => 10 );
Donc tu peux faire :
foreach($arr as $key => $value) {
if ($key >= 4 && $key <= 8) {
echo $value;
}
}
Comment est-ce que tu décides quelles valeurs tu veux afficher dans ton foreach ?
Si ce sont toujours les mêmes positions, par exemple toujours les valeurs de 4 à 8, tu peux y aller avec un simple for :
Et tu ne sélectionnes que les valeurs de $x qui t'intéressent.
Sinon, l'autre possibilité est que tu cherches les valeurs dans ton tableau qui affichent certaines particularités. Dans ce cas mets un if-then-else dans ta boucle qui détecte cette particularité ; dans certains cas des expressions régulières seront nécessaires ou du moins, aideront grandement...
Si ça ne répond pas à ta question, peut-être que tu pourrais donner un exemple plus spécifique d'un scénario probable ? Quel genre de valeur peut-on s'attendre à retrouver dans ton script et lesquelles voudrais-tu afficher ?
Si ce sont toujours les mêmes positions, par exemple toujours les valeurs de 4 à 8, tu peux y aller avec un simple for :
for ($x=0; $x<=count($explode); $x++) {
[opération quelconque]
}
Et tu ne sélectionnes que les valeurs de $x qui t'intéressent.
Sinon, l'autre possibilité est que tu cherches les valeurs dans ton tableau qui affichent certaines particularités. Dans ce cas mets un if-then-else dans ta boucle qui détecte cette particularité ; dans certains cas des expressions régulières seront nécessaires ou du moins, aideront grandement...
Si ça ne répond pas à ta question, peut-être que tu pourrais donner un exemple plus spécifique d'un scénario probable ? Quel genre de valeur peut-on s'attendre à retrouver dans ton script et lesquelles voudrais-tu afficher ?
Voila mon code :
Le fichier file.txt contiens :
Dans cet exemple ça affiche les 10 premiers, mais maintenant je vais que sa affiche les 10 prochains à partir de 10 pour faire une pagination...
<?php
$file = file_get_contents('./file.txt');
$explode = explode("\n", $file);
foreach($explode as $foreach) {
if($i <= 10) { // DANS CET EXEMPLE SA AFFICHE LES 10 PREMIERS.
$data = explode(" - ", $foreach);
echo 'ID : '.$data[0].' DATE : '.$data[1].' IP : '.$data[2].' !';
$i++;
}
}
?>
Le fichier file.txt contiens :
1504834891 - 1289136968 - XX.XXX.XXX.XX 1504834891 - 1289136968 - XX.XXX.XXX.XX 1504834891 - 1289136968 - XX.XXX.XXX.XX ......... .........
Dans cet exemple ça affiche les 10 premiers, mais maintenant je vais que sa affiche les 10 prochains à partir de 10 pour faire une pagination...
Je pense avoir avoir trouvé, si on met ceci cela fonctionne :
Quelqu'un propose mieux ?
<?php
$file = file_get_contents('./file.txt');
$explode = explode("\n", $file);
foreach($explode as $foreach) {
if($i >= 10 && $i < 10) {
$data = explode(" - ", $foreach);
echo 'ID : '.$data[0].' DATE : '.$data[1].' IP : '.$data[2].' !';
$i++;
}
}
?>
Quelqu'un propose mieux ?