2017-01-22 2 views
0

ich beginnend mit 1, so dass die 1., 3., 5. Element etc. Meine aktuellen Code jedes zweite Element oder ein Array zu drucken versuche illegal geben Art FehlerFür jede ungerade Element in PHP-Array

$array2 = array(explode(',', $prodorder)); 

<?php foreach($array2 as $value) { 
    if ($value % 205 !== 0) { 

     $productscore = $_POST[$value]; 
     echo $value; 
?> 

    <tr><td><?php echo $productname;?></td><td><?php echo $productdescription;?></td></tr> 

    <?php }} ?> 

Antwort

2

Verwendung Offset stattdessen eine for-Schleife.

for($i=0; $i<count($items); $i+=2) 
    echo $items[$i] . '<br>'; 
+0

Ich habe die oben geändert, aber dies ist Echo nichts aus. Meine Array-Werte sind 1,2,4,9 und ich erwarte, dass 1 und 4 als Echo ausgegeben werden. –

+0

Sie müssen nur zu array_unique wechseln. –

+0

Was meinen Sie mit array_unique? –

0

Dies wird auch funktionieren, aber mit for Schleife ist besser und elegante Art und Weise.

$array2 = [ 
    "value1", 
    "value2", 
    "value3", 
    "value4", 
    "value5" 
]; 
//$array2 = array_values($array2); 

foreach($array2 as $k => $v) { 
    if (($k + 1) % 2 == 1) { 
     echo $v; 
    } 
} 

Auch dieses kann nicht in assoziatives Array verwendet werden, es sei denn, Sie array_values verwenden.

0

Versuchen Sie folgendes:

foreach($array2 as $k=>$value) { 
    if ($k % 2 !== 0) { 
     $productscore = $_POST[$value]; 
     echo $value; 
    } 
}