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
- Excel ne pas afficher #valeur ✓ - Forum Excel
- Formule excel si contient texte alors valeur ✓ - Forum Excel
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum MacOS
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 ?